~/sylvain.dev : accueil EN

Diagnostiquer un Android avec adb sans fil

Pour comprendre pourquoi un téléphone vide sa batterie ou rame, pas besoin de câble ni de root : depuis Android 11, adb passe par le Wi-Fi, et dumpsys lit l’état du système sans rien modifier.

Connexion

Sur le téléphone : Options pour les développeurs → Débogage sans fil → Associer l’appareil avec un code.

sudo dnf install android-tools        # ou le paquet platform-tools de votre système
adb pair <IP>:<PORT_ASSOCIATION>      # une seule fois, avec le code à 6 chiffres
adb connect <IP>:<PORT_CONNEXION>     # le port de l'écran Débogage sans fil, il change à chaque activation
adb devices -l

Le port d’association et le port de connexion sont différents.

Lire, sans rien changer

adb shell dumpsys battery                    # niveau, température, état
adb shell dumpsys batterystats --charged     # consommation depuis la dernière charge complète : wakelocks, GPS, radio
adb shell dumpsys procstats --hours 24       # mémoire et temps d'exécution des processus
adb shell dumpsys usagestats                 # utilisation des applications
adb shell dumpsys deviceidle                 # état de Doze
adb shell pm list packages -3                # applications installées par l'utilisateur

Le groupe de mise en veille de chaque application (5 exempt, 10 active, 20 working set, 30 frequent, 40 rare, 45 restricted, 50 never) :

adb shell 'for p in $(pm list packages -3 | cut -d: -f2); do echo "$p $(am get-standby-bucket $p)"; done'

La santé de la batterie, quand le fabricant l’expose :

adb shell cat /sys/class/power_supply/battery/cycle_count \
  /sys/class/power_supply/battery/charge_full \
  /sys/class/power_supply/battery/charge_full_design

À prendre avec précaution : sur certains téléphones, charge_full vaut toujours charge_full_design, et ces valeurs ne disent alors rien de l’usure.

Pour aller plus loin, la sortie de batterystats se lit dans Battery Historian.

Sources :

Aller à une page