Outils pour utilisateurs

Outils du site


android

Android

Généralités

Android est un système d'exploitation Open Source pour smartphones et tablettes développé par la société Google. Ce nom “Android” provient du nom de la start-up que Google a racheté en 2005 qui développait à l'époque des OS pour mobiles.

  • fig:Android_logo.png

Des systèmes Android sans Google

Il existe aujourd'hui plusieurs initiatives qui consiste à développer des systèmes d'exploitation basés sur Android sans les composantes google :

Des téléphones sans Android

Qui ne soient pas iOS ni Win$ ! Voir une liste d'OS et téléphones alternatifs ici

Système d'exploitation, réinstallation

Voir la page dédiée à l'installation de LineageOS sur sur téléphone à la place de l'Android fabricant

Desimlocker son téléphone soit même

Utiliser, configurer, libérer son téléphone au quotidien

On peut tout à fait utiliser un téléphone Android sans avoir de compte google :

Magasins d'application Android alternatifs

Magasins alternatifs mais gare aux malwares et virus …

Télécharger des applis du google store sans compte google

Depuis son ordinateur :

Depuis son téléphone :

Pour copier des fichiers du téléphone vers l'ordi, connexion en wifi

./adb pull /sdcard/DCIM/Camera/ /home/b01/Documents/photostels/

Screencast Android sous Linux

Avec scrcpy !

Ensuite lancer la commande :

...scrcpy-linux-x86_64-v3.3.4$ ./scrcpy

Émuler Android sous Linux

Il y a plusieurs options : os dans machine virtuelle, Android Studio “officiel” et des émulateurs, après passage en revue rapide, utilisation de Anbox https://anbox.io/ qui permet d'utiliser des applications à installer “à la main” via adb en ayant préalablement téléchargé le fichier .apk …

Quelques références :

Installation sous Linux debian 9

  1. Il faut tout d'abord installer les modules du noyau : https://docs.anbox.io/userguide/install_kernel_modules.htm voir aussi https://github.com/anbox/anbox-modules
  2. puis installer Anbox via snap, outils de gestion d'application Ubuntu https://docs.anbox.io/userguide/install.html#install-the-anbox-snap

donc d'abord installer snap :

 sudo apt install snapd
 sudo snap install --devmode --beta anbox

Tester

 snap info anbox

Lancer le app manager et anbox en même temps

 /snap/bin$./anbox.appmgr
 adb devices

Installer une appli

 adb install ../Weather\ forecast_v1.62.238_apkpure.com.apk

Au final ça marche avec des applications simples, pas sur que pour des jeux et applis qui ont recours aux périphériques ça tourne bien …

Pour désactiver l'application anbox :

 snap disable anbox
 snap enable anbox

Backup SMS applications préférences wifi et navigateur sans gmail

cd ~/sketchbook/modes/AndroidMode/sdk/platform-tools
./adb devices

liste les devices

mkdir backupb01
./adb root
./adb remount
./adb pull /data/app backupb01/ (applications)
./adb pull /data/data/com.android.providers.telephony/databases/mmssms.db backupb01/ (sms and mms)
./adb pull /storage/sdcard0/00001.vcf backupb01/ (export carnet d'adresses)
+ Browser settings: /data/data/com.android/browser
+ System WiFi Settings: /data/misc/wifi

Restauration

./adb install *.apk (applications)
./adb push backupb01/mmssms.db /data/data/com.android.providers.telephony/databases/mmssms.db

Connexion via wifi (si port usb défaillant) > régler adb via ip dans le téléphone

./adb connect ipdutéléphone

Développement

Communiquer en USB avec son Android sous linux

  • Pour communiquer en USB avec son téléphone, régler sous Linux les règles udev :
  • Pour lister les périphériques usb et voir les références de son téléphone
lsusb
  • Créer un fichier de règles pour les téléphones android
sudo gedit /etc/udev/rules.d/09-android.rules
  • Ajouter ces lignes en adaptant à votre téléphone (selon ce qu'indique la commande “lsusb”)
SUBSYSTEMS="usb", SYSFS{idVendor}="04e8", SYSFS{idProduct}="681d", MODE="0666", OWNER="VOTRE_NOM_de_USER" #pas normal
SUBSYSTEMS="usb", SYSFS{idVendor}="04e8", SYSFS{idProduct}="681e", MODE="0666", OWNER="VOTRE_NOM_de_USER" #normal
SUBSYSTEMS="usb", SYSFS{idVendor}="04e8", SYSFS{idProduct}="681c", MODE="0666", OWNER="VOTRE_NOM_de_USER" #recovery
SUBSYSTEMS="usb", SYSFS{idVendor}="04e8", MODE="0666", OWNER="VOTRE_NOM_de_USER" #tout_type_d-android
  • la dernière ligne doit être suffisante

Régler les problèmes de connexion USB sur Samsung Nexus S Crespo

Il arrive que le téléphone ou la tablette perde la capacité à se connecter en USB (rien dans le lsusb pourtant le téléphone se charge)

Après moutles investigations, des codes secrets permettent de faire afficher un menu secret qui permet de switcher l'USB et le modem dans un autre mode et de rétablir ensuite ce qui arrenge le problème : voir https://blog.vacs.fr/vacs/blogs/post.html?post=2010/12/24/How-to-repair-the-USB-not-detected-problem-on-Android-Samsung-phones

Dial *#7284# or *#0808# and set MTP+ADB USB Setting

ça n'a bien évidemment pas marché sur mon tél, je suis passé par un shell via adb sur tcp/ip (voir plus bas), je me loggue ainsi en root sur le téléphone et tape ensuite :

root@crespo:/ # cat /sys/class/android_usb/android0/functions
mass_storage
root@crespo:/ # echo 0 > /sys/class/android_usb/android0/enable
root@crespo:/ # echo 1 > /sys/class/android_usb/android0/f_acm/instances
root@crespo:/ # echo mtp,acm,adb > /sys/class/android_usb/android0/functions
root@crespo:/ # echo 1 > /sys/class/android_usb/android0/enable
root@crespo:/ # start adbd
root@crespo:/ # echo 0 > /sys/class/android_usb/android0/enable
root@crespo:/ # cat /sys/class/android_usb/android0/functions
mtp,acm,adb
root@crespo:/ # echo mass_storage > /sys/class/android_usb/android0/functions
root@crespo:/ # echo 1 > /sys/class/android_usb/android0/enable
root@crespo:/ # start adbd
root@crespo:/ # reboot

Là, miracle, ça a marché !!!

Installer et utiliser ADB

ADB signifie Android Debug Bridge. C'est un outil qui permet l'accès a la console du téléphone (car Android ressemble fortement à un Linux)

pour lister les appareils

cd ~/sketchbook/modes/AndroidMode/sdk/platform-tools/
./adb devices

pour ouvrir un terminal sur le téléphone

./adb shell

adb en wifi

Backup & Restore Android Apps en utilisant ADB : http://jonwestfall.com/2009/08/backup-restore-android-apps-using-adb/ se connecter en wifi (voir réglages développeur pour activer l'option), il faut mettre l'ordi et le tél sur le même réseau wifi

Il faut déjà connecter une fois son téléphone en USB à son ordi pour autoriser cet ordi à se connecter au téléphone, ensuite

adb tcpip 5555
adb connect 172.31.23.242
adb root
adb remount
adb shell

Copier des fichiers système avec ADB

Il fut déjà générer une paire de clef :

./adb keygen b01key
./adb kill-server

Le téléphone doit demander de valider la clef proposée soit temporairement soit pour tjs

Exécuter adb en tant que root, remonter la partion :

./adb root
./adb remount
./adb push busybox /system/bin

I run into some devices that you need to remount with mount -o remount,rw /system and not with adb remount.

Ensuite copier les fichiers :

./adb push source destination

Log avec ADB

adb logcat
adb logcat -d > androilog.txt

Plus d'options : https://logmatic.io/blog/a-how-to-guide-to-debugging-with-android-logcat/ https://forum.xda-developers.com/showthread.php?t=1726238 et https://developer.android.com/studio/command-line/logcat.html

Debug

  1. Open the dialer of your phone and type *#*#4636#*#*
  2. Dial this number and wait for the results.
  3. You will get a testing menu on your device screen, Click on phone/device information from this menu.
  4. Run the ping test and then select GSM Auto (PRL) from the drop down list.
  5. Tap on Turn Off Radio

Lister les applications installées

adb shell pm list packages

Désactiver le service NFC en carafe

Pas nécessaire ? :

ls -al /data/data/com.android.nfc
lrwxrwxrwx install  install           2018-03-25 16:37 lib -> /data/app-lib/com.android.nfc
rm /data/data/com.android.nfc/lib

Développer des programmes avec Processing Android

Installer /e/ système sur Fairphone 3

Voir la page dédiée au Fairphone

Extraire un apk avec adb et le réinstaller sur un autre téléphone

Extraire

Extraction Process

  Connect Your Device: Use a USB cable to connect your Android device to your computer.
  Verify Device Connection:
      Open a command prompt or terminal.
      Type adb devices to check if your device is recognized.
  List Installed Packages:
      Run the command: adb shell pm list packages to see all installed apps.
  Find the APK Path:
      Use the command: adb shell pm path com.example.app (replace com.example.app with the actual package name of the app you want to extract).
      This will return the path to the APK file.
  Extract the APK:
      Use the command: adb pull /data/app/com.example.app-XXX/base.apk . (replace the path with the one you found).
      The APK will be copied to your current directory.

Réinstaller :

Set Up ADB: Install ADB on your computer and connect your Android device via USB. Open Command Prompt: Navigate to the folder containing your split APK files. Install APKs: Use the command:

  adb install-multiple base.apk config.apk
  Replace base.apk and config.apk with your actual split APK filenames. Include all necessary APKs as needed.
android.txt · Dernière modification : de Benjamin Labomedia