Android Debug Bridge (ADB) est un outil de ligne de commande inclus dans le SDK Android, le principal outil utilisé pour communiquer avec un casque Meta Quest à toutes les étapes du développement. Extrêmement polyvalent, ADB s’avère indispensable pour installer des applications et envoyer d’autres commandes importantes depuis l’ordinateur vers le casque.
Pour obtenir la liste des commandes et options disponibles, assurez-vous qu’ADB est installé et entrez :
adb help
Se connecter à un appareil avec ADB
Depuis le shell du système d’exploitation, il est possible de se connecter et de communiquer avec un appareil Android soit directement via USB, soit via TCP/IP par le Wi-Fi.
Pour connecter un appareil via USB, branchez-le sur le PC à l’aide d’un câble USB compatible. Ouvrez ensuite un shell de système d’exploitation et entrez :
adb devices
Si l’appareil est correctement connecté, ADB affichera la liste des identifiants d’appareils, par exemple :
List of devices attached
ce0551e7 device
ADB ne peut fonctionner si aucun appareil n’est détecté. Si votre appareil ne figure pas dans la liste, le pilote USB installé n’est sans doute pas le bon (voir Pilotes ADB pour Oculus). Vérifiez également que le mode développeur est activé pour votre appareil dans l’application mobile Meta Horizon. Dans certains cas, le fait de changer de port ou de câble USB permet de résoudre les problèmes de connexion.
Connecter ADB via le Wi-Fi
Bien que la connexion USB soit généralement plus rapide qu’une connexion TCP/IP, cette dernière s’avère parfois indispensable.
Pour vous connecter via TCP/IP, assurez-vous d’abord que l’appareil est connecté via USB, puis utilisez la commande suivante pour déterminer son adresse IP :
adb shell ip route
Le résultat devrait ressembler à ceci :
10.0.30.0/19 dev wlan0 proto kernel scope link src 10.0.32.101
L’adresse IP de l’appareil suit src. En utilisant cette adresse IP et le port (5555, en général), exécutez les commandes suivantes :
adb tcpip <port>
adb connect <ipaddress>:<port>
Par exemple :
> adb tcpip 5555
restarting in TCP mode port: 5555
> adb connect 10.0.32.101:5555
connected to 10.0.32.101:5555
Vous pouvez maintenant débrancher l’appareil du port USB. Tant que adb devices n’affiche qu’un seul appareil, toutes les commandes ADB seront transmises à l’appareil via Wi-Fi.
Pour mettre fin à la connexion Wi-Fi, lancez la commande ADB suivante depuis le shell du système d’exploitation :
adb disconnect
Installer des applications avec ADB
Exécutez la commande suivante pour installer un APK sur votre casque :
adb install <APK_PATH>
Par exemple, sur Windows :
adb install C:\Dev\Android\MyProject\VrApp.apk
Sur macOS :
adb install ~/Dev/Android/MyProject/VrApp.apk
Utilisez l’option -r pour écraser tout APK du même nom déjà installé sur l’appareil cible :
adb install -r <APK_PATH>
Remarque : l’installation d’applications avec adb install contourne la méthode d’installation normale de Quest. Les applications installées de cette façon ne seront pas enregistrées et aucune sauvegarde dans le cloud ne sera réalisée.
Les sections ci-dessous proposent des solutions aux problèmes de connexion courants avec ADB.
L’ordinateur ne détecte pas l’appareil
Plusieurs raisons peuvent expliquer pourquoi votre ordinateur ne détecte pas le casque. Voici quelques suggestions :
Assurez-vous d’avoir activé le mode développeur dans l’application Meta Quest associée sur votre mobile.
Vérifiez si le problème n’est pas dû à un câble USB défectueux. Connectez l’appareil à l’aide d’un autre câble USB. Si vous n’avez pas d’autre, connectez un autre appareil Android pour vérifier si le problème vient du câble USB.
Assurez-vous que votre ordinateur dispose de toutes les autorisations nécessaires pour accéder à votre casque. En général, lorsque vous connectez votre appareil à l’ordinateur via un câble USB, une invite s’affiche pour autoriser votre ordinateur à accéder à l’appareil. Si vous avez refusé cette autorisation par erreur, déconnectez le câble USB, redémarrez l’appareil, puis reconnectez le câble. Sur l’invite de demande d’autorisation, sélectionnez Autoriser.
Sur certains appareils, la connexion pendant l’utilisation d’une application VR ou pendant qu’ADB attend un appareil peut empêcher la détection de l’appareil. Dans ces cas, essayez de fermer l’application et d’arrêter ADB à l’aide du raccourci clavier Ctrl-C avant de reconnecter l’appareil. Vous pouvez aussi arrêter le service ADB en utilisant la commande suivante. Le service ADB redémarrera ensuite automatiquement lors de l’exécution de la commande :
adb kill-server
Le terminal indique que la commande adb est introuvable
Commencez par vérifier si adb est correctement installé. Accédez au dossier /Android/SDK/platform-tools/ et recherchez l’outil adb. S’il est manquant, téléchargez le package Android SDK Platform-Tools autonome.
Vérifiez si vous avez correctement défini les variables d’environnement.
Vous pouvez exécuter ADB depuis le dossier /Android/SDK/platform-tools/ en ajoutant le préfixe ./ à la commande adb. Par exemple, plutôt que adb devices, utilisez ./adb devices.
Plusieurs appareils sont connectés en même temps
Plusieurs appareils peuvent être associés en même temps, ce qui est souvent utile pour déboguer les applications client/serveur. Sachez que lorsque le même appareil est connecté simultanément par Wi-Fi et par USB, ADB affichera deux appareils. Lorsque plusieurs appareils sont répertoriés, vous devez indiquer à ADB lequel utiliser à l’aide de la bascule -s. Par exemple, vérifiez si adb devices affiche ce qui suit :
List of devices attached
ce0551e7 device
10.0.32.101:5555 device
Les appareils répertoriés peuvent correspondre à deux appareils, ou à un seul connecté à la fois par Wi-Fi et par USB (par exemple, pour le charger). Dans ce cas, toutes les commandes ABD doivent avoir le format suivant, où <device id> correspond à l’identifiant envoyé par adb devices :
adb -s <device id> <command>
Par exemple, pour envoyer une commande logcat à l’appareil connecté via TCP/IP :
adb -s 10.0.32.101:55555 logcat -c
Pour envoyer la même commande à l’appareil connecté via USB :
adb -s ce0551e7
En savoir plus
Pour en savoir plus sur les outils de développement, consultez les ressources suivantes :