Outils pour utilisateurs

Outils du site


android:adb:problemes-divers

Notes

adb1) est un outil en ligne de commande permettant de communiquer avec des périphériques sous Android. Il permet d'effectuer diverses actions telles que installer/deboguer des applications, ouvrir un shell, copier des fichiers ou des APKs. Fonctionne en client/serveur avec 3 composantes:

  • Le client envoie les commandes,
  • Le daemon adbd, présent sur le périphérique Android cible exécute les commandes.
  • Le serveur, qui gère les communications entre le client et les différents daemons adb sur chaque périphérique. Le serveur s’exécute en arrière plan sur la machine de dev.

adb est contenu dans le paquetage Android SDK Plateform-Tools. Il est disponible en standalone

Fonctionnement d'adb

Lorsque le client est exécuté, il commence par vérifier si un processus serveur existe. Si ce n'est pas le cas, il démarre le processus serveur écoutant sur le port 5037. Tous les clients communiquent leurs commandes au serveur via le port 5037.

Le serveur se charge de mettre en service les connexions vers tous les périphériques Android. Il identifie les émulateurs en scannant la plage de ports 5555-5585. Quand le serveur trouve un daemon adbd, il initie la connexion à celui-ci. A noter que chaque émulateur utilise une paire de ports consécutifs.

Une fois que le serveur a initialisé les connexions vers tous les périphériques, adb peut être utilisé pour accéder à ceux-ci. Puisque le serveur gère les connexions vers tous les périphériques et peut recevoir des commandes depuis de multiples clients, il est possible de contrôler n'importe quel périphérique depuis n'importe quel client.

Utiliser adb sur un périphérique USB

Pour utiliser adb sur un périphérique physique connecté en USB il faut activer le débogage USB. Cette option est disponible dans les options système sous les options développeur.

adb via le réseau

adb communique par défaut via l'USB mais depuis une connexion USB initiale et un paramétrage succinct, il sera possible d'y accéder en TCP/IP.

  • Connecter le périphérique a la machine de dev en USB
  • Spécifier l'ecoute sur le port tcp 5555 avec la commande:
adb tcpip 5555
  • Deconnecter le périphérique
  • Identifier l'adresse IP du périphérique pour s'yn connecter directement avec la commande:
adb connect device_ip

Pour confirmer que la connexion est bien valide:

adb devices

La liste des périphériques attachés doit contenir un seul élément, le périphérique.

versions adb

En cas d'anomalies, vérifier les versions adb utilisées sur la machine de dev et côté périphérique. Noter que la compatibilité est cassée pour les versions adb > 1.0.32

Pour vérifier la version d'adb:

$ adb version

Propriétés périphérique

# Recupere une valeur
$ adb shell getprop ro.build.version.sdk

# Retourne toutes les propriétés
$ adb shell getprop

Références

1)
Android Debug Bridge
android/adb/problemes-divers.txt · Dernière modification : 2021/02/01 21:51 de 127.0.0.1