0 votes

Obtention de " ???" et aucune autorisation lors de l'utilisation de 'adb devices' sous Linux

Je suis nouveau sur Android et ADB. C'est la première fois que j'essaie d'installer Linux sur un appareil Android. J'ai parcouru ce tutoriel . Je suis à l'étape 5, où le tutoriel affirme que je dois autoriser les connexions de débogage USB. Je ne suis pas sûr que ce soit exact, lorsque j'ai démarré, l'appareil m'a simplement informé qu'il y avait une connexion USB.

Alors, j'ai donné la commande Linux :

~$ adb devices
List of devices attached 
????????????    no permissions

Alors j'ai pensé que ça pouvait être un problème de permissions sous Linux, et je lui ai donné sudo mais je reçois toujours le même charabia.

~$ adb devices
List of devices attached 
????????????    no permissions

quand je débranche l'appareil, et que je lance la commande adb devices rien ne s'affiche... une ligne blanche. Il semblerait donc que l'ADB détecte quelque chose.

Que me dit cette sortie ? Comment puis-je faire reconnaître mon appareil ? Y a-t-il des paramètres supplémentaires que je devrais activer pour que cela fonctionne ? Cet appareil Android est un Nextbook Ares 11.

3voto

NuttLoose Points 131

Le changement du mode USB dans le téléphone a fait l'affaire pour moi. (Je l'ai réglé sur Transfert de fichiers)

2voto

AlexBar Points 441

Sur votre appareil, allez dans Paramètres > À propos de l'appareil et appuyez plusieurs fois sur " Build Number " jusqu'à ce qu'il soit indiqué que vous êtes un développeur. Retournez ensuite dans Réglages et dans Options du développeur. Activez-les et cochez la case pour le débogage USB. Puis révoquez les autorisations de débogage USB.
Maintenant, connectez votre appareil, installez ses pilotes si vous ne l'avez pas fait et tapez n'importe quelle commande ADB. Un message apparaîtra sur votre appareil vous demandant une autorisation. Cliquez sur Autoriser. Une fois que vous avez fait cela, lorsque vous tapez adb devices il devrait dire <device_id> device

2voto

Daniele Segato Points 141

Il y a un certain nombre de raisons pour lesquelles cela peut se produire, la plupart peuvent être résolues en suivant les instructions des guide officiel :

  1. Vous n'avez pas activé USB Debug sur votre appareil (faites-le, voir le guide ci-dessus / autre réponse).
  2. Votre appareil est en mode USB, essayez de le changer (une notification s'affiche / vous trouvez un menu dans les paramètres du développeur).
  3. Il vous manque la permission sur le périphérique de votre système Linux : Je vous explique ce qu'il faut faire dans ce cas

Quoi que vous fassiez NE PAS lancement adb start-server con sudo (certains guides/réponses sur stack overflow le suggèrent). C'est mauvais ! Cela fonctionne parce que vous exécutez le serveur adb en tant que Root (administrateur) mais ce n'est pas censé fonctionner comme ça et pourrait vous causer d'autres problèmes plus tard.

Tout d'abord, si vous êtes sous Ubuntu / debian, vérifiez si un paquet appelé android-tools-adb est disponible et l'installer :

sudo apt install android-tools-adb

cette installation une liste de permission gérée par la communauté pour les appareils Android (débrancher / rebrancher l'appareil ou essayer de redémarrer).

Assurez-vous que vous êtes dans le répertoire udev plugdev groupe :

groups

si le plugdev n'est pas répertorié, ajoutez-vous :

sudo usermod -aG plugdev $LOGNAME
sudo usermod -aG plugdev $USER

il se peut que vous deviez vous déconnecter et vous reconnecter pour que le changement prenne effet, vérifiez de nouveau avec groups commandement.

Certains appareils ne sont pas sur la liste, par exemple j'ai un appareil Pixel 2 qui n'est pas listé dans le module maintenu par la communauté. Si vous n'obtenez toujours pas de permission c'est ce que vous devez faire :

Étape 1 : branchez votre appareil

Étape 1 : Vérifiez qu'il est détecté par votre PC :

$ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 8087:07da Intel Corp. 
Bus 001 Device 003: ID 18d1:4ee7 Google Inc. <----------
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Étape 3 : notez les deux codes que vous voyez après ID

Dans mon exemple, le dispositif est celui nommé Google Inc. et les codes sont 18d1:4ee7 Le premier est l'ID du vendeur, le second est l'ID du modèle de l'appareil, ceux-ci sont pour le Google Pixel 2.

Étape 4 : écrire un udev règle pour votre appareil

sudo gedit /etc/udev/rules.d/70-android-custom-device.rules

à l'intérieur, écrivez ceci :

# GOOGLE PIXEL 2
ACTION=="add|change", SUBSYSTEM=="usb", \
  ATTRS{idVendor}=="18d1", \
  ATTRS{idProduct}=="4ee7", \
  TAG+="uaccess"

Raplacez votre commentaire ( GOOGLE PIXEL 2 ) avec le nom du périphérique, ceci est ignoré par udev, il n'est utile que pour un humain lisant le fichier (la balise # est un commentaire). Ensuite, changez le code pour idVendor y idProduct avec les codes de vos appareils.

Si vous avez plusieurs appareils avec le même fournisseur, vous pouvez les lister tous en les séparant par un trait d'union. | par exemple : ATTRS{idProduct}=="d001|4ee7"

Étape 5 : redémarrez udev pour que vos modifications soient lues

sudo service udev restart

Étape 6 : débranchez / rebranchez votre appareil

il devrait maintenant avoir les permissions

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X