web-dev-qa-db-fra.com

Comment faire en sorte que le shell Ubuntu sous Windows 10 reconnaisse un périphérique connecté Android?

J'essaie de connecter adb à mon périphérique Android sous Windows 10 Ubuntu Shell, mais cela ne semble pas fonctionner:

Waiting for Device in Ubuntu Bash Shell

adb fonctionne normalement sous Windows, il ne s'agit donc pas d'un problème de téléphone ou de connexion. Dois-je faire quelque chose comme monter le port dans le shell Ubuntu? Comment? (Le but est de passer logcat à grep, ce qui fonctionnerait évidemment mieux sous Ubuntu.)

6
Menasheh

Le shell bash sous Windows ne dispose pas de fonctions permettant de se connecter à des périphériques USB. Donc, la BAD ne fonctionnera pas tant que personne n’aura ajouté cela.

Voici la proposition pour ajouter un support USB .

4
Rinzwind

Il existe un moyen délicat de le faire fonctionner même avec les limitations actuelles. Vous devez démarrer le serveur adb à partir de cmd:

adb kill-server //if it is already running under bash Shell
adb start-server

Pour pouvoir appeler adb depuis bash Shell, il utilisera le serveur existant et pourra ainsi répertorier les périphériques connectés.

adb devices
4
Paul Diakov

Ajoutant sur autre réponse de Paul , vous pouvez accéder au serveur Windows adb depuis Ubuntu pour résoudre ce problème, mais cela fonctionne si et seulement si les deux fichiers binaires adb utilisent la même version du protocole TCP. Par exemple, adb 7.0.0 + r33-2 dans Bionic fonctionnera avec platform-tools 24.0.4 sur Windows.

Si vous avez une version différente, ma première étape consistait simplement à utiliser adb dans Windows comme il le suggérait:

> adb kill-server //if it is already running under bash Shell
> adb start-server

Et puis dans Ubuntu:

$ adb devices

Si les versions du protocole binaire ne correspondent pas, alors, après avoir exécuté adb dans Ubuntu, une erreur est générée qui donne suffisamment d'informations pour obtenir le bon binaire:

adb server version (40) doesn't match this client (36); killing...

Dans cet exemple, le serveur utilise la version 40 du protocole et le paquet Ubuntu utilise la version 36. Une approche consiste donc à obtenir une version de adb sous Windows ayant 4 versions principales antérieures à celle que vous possédez. Vous pouvez consulter = notes de version de platform-tools pour rechercher la dernière version mineure de la version majeure requise. Au moment de la rédaction de cet article, le numéro de version principal de platform-tools est 12 inférieur au numéro de version de protocole de adb. Par conséquent, pour la version de protocole 36 comme dans cet exemple, nous voudrions que la version 24.0.4 (qui est 4 moins de 28.0.1, qui avait la version 40 du protocole). Ce numéro de version peut être utilisé pour créer manuellement une URL de téléchargement pour les outils de plate-forme de la version requise.

https://dl.google.com/Android/repository/platform-tools_r24.0.4-windows.Zip
                         change to correct version here----^

Téléchargez et décompressez cette archive, puis relancez adb à partir de cmd:

> adb kill-server
> adb start-server

Maintenant, adb fonctionnera sous Ubuntu.

2
fuzzyTew