Mise à jour : adb 1.0.39 - Android 9 / LineageOS 16 - Debian 10.2
Android Debug Bridge (ADB) est un programme, permettant d'envoyer des commandes et d'échanger des fichiers avec un périphérique Android
Ce document décrit
Sommaire
$ sudo aptitude install adb
Afficher la version
$ adb --version
Android Debug Bridge version 1.0.39
Version 1:8.1.0+r23-5
Installed as /usr/lib/android-sdk/platform-tools/adb
https://developer.android.com/studio/releases/platform-tools.html
$ unzip platform-tools_r29.0.5-linux.zip
$ cd platform-tools/
$ ./adb --version
Android Debug Bridge version 1.0.41
Version 29.0.5-5949299
Installed as ~/xxxxxxx/platform-tools/adb
Pour que cette version de adb soit utilisée par défaut, désinstaller la version installée depuis les dépôts et créer un lien par exemple en /usr/local/bin
$ sudo ln -s ~/xxxxxxx/platform-tools/adb /usr/local/bin/adb
$ adb --version
Android Debug Bridge version 1.0.41
......
Lancer le serveur (ou lancer une première commande)
$ adb start-server
* daemon not running; starting now at tcp:5037
* daemon started successfully
$ adb kill-server
Connecter le périphérique au PC via la liaison USB et vérifier qu'il est détecté par le noyau
$ sudo dmesg |tail
...
[24447.917981] usb 1-1: new high-speed USB device number 18 using xhci_hcd
[24448.072106] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860, bcdDevice= 4.00
[24448.072110] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[24448.072113] usb 1-1: Product: SAMSUNG_Android
[24448.072115] usb 1-1: Manufacturer: SAMSUNG
[24448.072117] usb 1-1: SerialNumber: 52008xxxxxxxxxxx
$ lsusb -d 04e8:6860
Bus 001 Device 019: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy series, misc. (MTP mode)
La connexion au périphérique diffère selon que le périphérique a été démarré en mode Système (mode normal) ou en mode récupération.
Lorsque le périphérique est en mode système, pour établir la connexion, il est nécessaire
Ouvrir le menu Paramètres du périphérique (Icône engrenage en haut à droite) et sélectionner la dernière ligne, intitulée "A propos du téléphone"
Repérer la ligne "Numéro de build" et la tapoter rapidement 7fois, un message informe de l'activation du Menu de débogage
Revenir au menu Paramètres et sélectionner la ligne Système >> Options Avancées >> Options pour les développeurs. Cette ligne était absente avant le déblocage du mode développeur. Activer le mode développeur.
Dans le menu Options pour les développeurs >> Débogage, sélectionner
$ adb get-state
* daemon not running; starting now at tcp:5037
* daemon started successfully
error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
ou bien la détection du périphérique
$ adb devices
List of devices attached
b36c608a unauthorized
$ adb devices -l
List of devices attached
52008xxxxxxxxxxxx device usb:1-4 product:a5y17ltexx model:SM_A520F device:a5y17lte transport_id:1
Dans ce qui suit, on s'intéresse à la connexion au mode Récupération de la ROM constructeur
$ adb get-state
error: no devices/emulators found
La connexion wifi n'est possible que lorsque le périphérique est en mode "Système"
$ adb connect 192.168.1.41:5555
* daemon not running; starting now at tcp:5037
* daemon started successfully
connected to 192.168.1.41:5555
NOTE : Si l'option d'activation n'est pas disponible (ROM fabriquant), installer sur le périphérique une application telle que Wifi ADB, disponible sur Google Play.
com.ttxapps.wifiadb
Lancer l'application et suivre les instructions affichées.
$ adb devices -l
List of devices attached
192.168.1.58:5555 device product:gts210veltexx model:SM_T819 device:gts210velte transport_id:1
$ adb disconnect
disconnected everything
$ adb connect 192.168.0.27:5555
connected to 192.168.0.27:5555
Lorsque l'on ne dispose pas de PC, il est possible d'utiliser adb depuis un périphérique Android. Dans ce qui suit, on 'installe une version "statique" du serveur adb
Sur le périphérique "serveur"
$ adb version
Android Debug Bridge version 1.0.39
Revision android-8.0.0 arm
$ adb start-server
$ ip route |grep wlan0
192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.27
Dans l'exemple ci-dessus, l'adresse du périphérique est 192.168.0.27
$ adb connect 192.168.0.27
connected to 192.168.0.27:5555
$ adb devices -l
List of devices attached
192.168.0.27:5555 device product: a5y17ltexx mode1:SM_A520F device:a5y17lte