Adb shell commandes

Android Debug Bridge (adb) est un outil de ligne de commande qui vous permet de communiquer avec un périphérique Android. La commande adb facilite une variété d'actions de périphériques, telles que l'installation et le débogage d'applications, et fournit l'accès à un shell Unix que vous pouvez utiliser pour exécuter diverses commandes sur un périphérique. C'est un programme client-serveur qui comprend trois composants:

  • Un client qui envoie des commandes. Le client fonctionne sur votre machine de développement. Vous pouvez appeler un client à partir d'un terminal de ligne de commande en émettant une commande adb.
  • Un deamon (adbd), qui exécute des commandes sur un périphérique. Le deamon s'exécute en tant que processus d'arrière-plan sur chaque périphérique.
  • Un serveur, qui gère la communication entre le client et le deamon.

adb est inclus dans le package Android SDK Platform-Tools. Vous pouvez télécharger ce package avec le gestionnaire SDK.

Comment fonctionne adb

Lorsque vous démarrez un client adb, le client vérifie d'abord s'il existe déjà un processus de serveur adb. Si ce n'est pas le cas, le processus serveur démarre. Lorsque le serveur démarre, il se connecte au port TCP local 5037 et écoute les commandes envoyées par les clients adb.
Tous les clients adb utilisent le port 5037 pour communiquer avec le serveur adb.
Le serveur configure ensuite les connexions à tous les périphériques en cours d'exécution. Il localise les émulateurs en analysant les ports impairs compris entre 5555 et 5585, la plage utilisée par les 16 premiers émulateurs. Lorsque le serveur trouve un deamon adb (adbd), il établit une connexion avec ce port.
Notez que chaque émulateur utilise une paire de ports séquentiels - un port pair pour les connexions console et un port impair pour les connexions adb. Par exemple :

Emulator 1, console: 5554
Emulator 1, adb: 5555
Emulator 2, console: 5556
Emulator 2, adb: 5557
ainsi de suite …

Comme illustré, l'émulateur connecté à adb sur le port 5555 est le même que l'émulateur dont la console écoute sur le port 5554.
Une fois que le serveur a configuré les connexions pour tous les périphériques, vous pouvez utiliser les commandes adb pour accéder à ces périphériques.


Activer le débogage de l'adb sur votre appareil

Pour utiliser adb avec un périphérique connecté via USB, vous devez activer le débogage USB dans les paramètres du système de périphérique, sous Options du développeur.
Sur Android 4.2 et supérieur, l'écran des options du développeur est masqué par défaut. Pour le rendre visible, accédez à Paramètres -> À propos du téléphone et appuyez sur Numéro de build sept fois. Revenez à l'écran précédent pour trouver les options du développeur en bas.
Sur certains périphériques, l'écran Options du développeur peut être localisé ou nommé différemment.
Vous pouvez maintenant connecter votre appareil avec USB. Vous pouvez vérifier que votre appareil est connecté en exécutant des périphériques adb à partir du répertoire android_sdk / platform-tools /.
Si vous êtes connecté, le nom de l'appareil est répertorié en tant que "périphérique".
Remarque: Lorsque vous connectez un périphérique fonctionnant sous Android 4.2.2 ou version ultérieure, le système affiche une boîte de dialogue vous demandant si vous acceptez une clé RSA permettant le débogage via cet ordinateur. Ce mécanisme de sécurité protège les périphériques utilisateur car il garantit que le débogage USB et les autres commandes adb ne peuvent être exécutés que si vous êtes en mesure de déverrouiller le périphérique et d'accepter la boîte de dialogue.

Se connecter à un appareil via Wi-Fi

adb communique généralement avec l'appareil via USB, mais vous pouvez également utiliser adb via Wi-Fi après une configuration initiale via USB, comme décrit ci-dessous. Si vous développez pour Wear OS, vous devriez plutôt voir le guide de débogage d'une application Wear OS, qui contient des instructions spéciales pour l'utilisation de adb avec Wi-Fi et Bluetooth.
Connectez votre appareil Android et votre ordinateur hôte AdB à un réseau Wi-Fi commun accessible aux deux. Attention, tous les points d'accès ne sont pas adaptés. Vous devrez peut-être utiliser un point d'accès dont le pare-feu est correctement configuré pour prendre en charge adb.
Si vous vous connectez à un appareil Wear OS, désactivez Bluetooth sur le téléphone associé à l'appareil. Connectez l'appareil à l'ordinateur hôte à l'aide d'un câble USB.
Définissez le périphérique cible pour écouter une connexion TCP / IP sur le port 5555.

adb tcpip 5555

Débranchez le câble USB de l'appareil cible.
Trouvez l'adresse IP de l'appareil Android. Par exemple, sur un appareil Nexus, vous pouvez trouver l'adresse IP dans Réglages> À propos de la tablette (ou À propos du téléphone)> État> Adresse IP. Ou, sur un appareil Wear OS, vous pouvez trouver l'adresse IP dans Paramètres> Paramètres Wi-Fi> Avancé> Adresse IP.
Connectez-vous à l'appareil par son adresse IP.

adb connect device_ip_address

Confirmez que votre ordinateur hôte est connecté à l'appareil cible:

$ adb devices
List of devices attached
device_ip_address:5555 device

Vous êtes maintenant prêt à partir!
Si la connexion adb est jamais perdue:
Assurez-vous que votre hôte est toujours connecté au même réseau Wi-Fi que votre appareil Android.
Reconnectez-vous en exécutant à nouveau l'étape de connexion adb.
Ou si cela ne fonctionne pas, réinitialisez votre hôte adb:

adb kill-server

Envoyer des commandes à un périphérique spécifique

Si plusieurs périphériques sont en cours d'exécution, vous devez spécifier le périphérique cible lorsque vous exécutez la commande adb. Pour spécifier la cible, utilisez la commande devices pour obtenir le numéro de série de la cible. Une fois que vous avez le numéro de série, utilisez l'option -s avec les commandes adb pour spécifier le numéro de série. Si vous allez émettre beaucoup de commandes adb, vous pouvez définir la variable d'environnement $ ANDROID_SERIAL pour qu'elle contienne le numéro de série à la place. Si vous utilisez à la fois -s et $ ANDROID_SERIAL, -s remplace $ ANDROID_SERIAL.
Dans l'exemple suivant, la liste des périphériques attachés est obtenue, puis le numéro de série de l'un des périphériques est utilisé pour installer helloWorld.apk sur ce périphérique.

$ adb devices
List of devices attached
emulator-5554 device
emulator-5555 device
$ adb -s emulator-5555 install helloWorld.apk

Remarque: Si vous émettez une commande sans spécifier de périphérique cible lorsque plusieurs périphériques sont disponibles, adb génère une erreur.
Si vous avez plusieurs périphériques disponibles, mais qu'un seul est un émulateur, utilisez l'option -e pour envoyer des commandes à l'émulateur. De même, s'il existe plusieurs périphériques mais qu'un seul périphérique matériel connecté, utilisez l'option -d pour envoyer des commandes au périphérique matériel.


Installer une application

Vous pouvez utiliser adb pour installer un fichier APK sur un émulateur ou un périphérique connecté à l'aide de la commande install:

adb installer path_to_apk

Vous devez utiliser l'option -t avec la commande d'installation lorsque vous installez un fichier APK de test. Pour plus d'informations, voir -t.

Notez que si vous utilisez Android Studio, vous n'avez pas besoin d'utiliser directement adb pour installer votre application sur l'émulateur / périphérique. Au lieu de cela, Android Studio gère l'empaquetage et l'installation de l'application pour vous.


Copier des fichiers vers / depuis un appareil

Utilisez les commandes pull et push pour copier des fichiers depuis et vers un périphérique. Contrairement à la commande install, qui copie uniquement un fichier APK à un emplacement spécifique, les commandes pull et push vous permettent de copier des répertoires et fichiers arbitraires à n'importe quel emplacement dans un périphérique.
Pour copier un fichier ou un répertoire et ses sous-répertoires à partir du périphérique, procédez comme suit:

adb pull remote local

Pour copier un fichier ou un répertoire et ses sous-répertoires sur le périphérique, procédez comme suit:

adb push local remote

Remplacez local et remote par les chemins d'accès au répertoire / files cible sur votre ordinateur de développement (local) et sur le périphérique (distant). Par exemple:

adb push foo.txt /sdcard/foo.txt

Arrêtez le serveur adb

Dans certains cas, vous devrez peut-être terminer le processus du serveur ADB, puis le redémarrer pour résoudre le problème (par exemple, si ADB ne répond pas à une commande).
Pour arrêter le serveur adb, utilisez la commande adb kill-server. Vous pouvez ensuite redémarrer le serveur en émettant une autre commande adb.


~~En cours - To be continued~~


Aucun commentaire:

Enregistrer un commentaire