86 votes

commande adb devices ne fonctionne pas

Je suis sur Ubuntu 10.10 64 bits. J'ai ia32-libs est installé avec Android Debug Bridge version 1.0.26.

Mon problème(s):

  1. adb devices >>> ???????????? sans autorisations
  2. sudo adb devices >>>> sudo: bad: command not found
  3. adb shell >>> erreur: pas d'autorisations suffisantes pour l'appareil

Je suppose que ce sont toutes liées. Voici les informations pertinentes.

$ echo $PATH
/home/me/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/android-sdk-linux_x86/tools:/opt/android-sdk-linux_x86/platform-tools

$ which adb
/opt/android-sdk-linux_x86/platform-tools/adb

$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
????????????    no permissions

$ sudo adb devices
sudo: adb: command not found

$ adb shell
error: insufficient permissions for device

J'obtiens les mêmes résultats avec un enracinée Moto Droid de course CM6.1 et un enracinée G-Onglet de l'exécution d'un CM7-ROM basée sur.

J'ai passé en revue les éléments suivants related posts:

J'ai essayé la plupart (pas tous) des suggestions et je n'ai pas été en mesure de résoudre mon problème. Les choses que je n'ai pas essayer semblait inapproprié. J'apprécierais un peu plus de conseils et je vais continuer le dépannage.

Une chose que je n'ai pas essayé était l'édition de /etc/udev/rules.d/70-android.des règles. Est-ce que ça pourrait être le problème? Je ne vois pas comment cela pourrait causer des "sudo: bad: command not found". Peut-être que mes problèmes ne sont pas liés. De toute façon, à ce stade, je pense que j'ai besoin de quelques commentaires d'autres personnes parce que je ne crois pas que j'ai un problème de chemin d'accès ou les autres problèmes évoqués dans les autres postes.

EDIT: RÉSOLU grâce à EboMike et RivieraKid. Ce n'était en fait deux problèmes différents:

  1. Article 2 ci-dessus (sudo: bad: command not found) a été résolu en faisant un lien symbolique comme suit:

    $ sudo ln -s /opt/android-sdk-linux_x86/platform-tools/adb /usr/local/sbin/adb
    

    Ce qui m'a permis de faire comme EboMike suggéré et utiliser cette solution. Faire qui était nécessaire pour que ma Moto Droid. (L'exécution de la bad en tant que sudo est pas nécessaire pour mon Viewsonic G Tablet, cependant.)

  2. Mes deux autres articles ont été résolus par la mise en œuvre de la règle udev comme RivieraKid suggéré (à partir de ce lien).

87voto

RivieraKid Points 4618

Une chose que je n'ai pas essayé a été l'édition /etc/udev/rules.d/70-android.des règles. Est ce que ça pourrait être le problème?

Aucune raison particulière pour laquelle vous n'avez pas le faire? Pour répondre à la question - OUI! Les règles udev sont ce qui informe Ubuntu ce que votre appareil et permet à l'utilisateur les outils d'espace pour y accéder.

Vous ne serez pas en mesure d'utiliser adb sans correctement en suivant les instructions.

Avec cela à l'esprit, cependant, vous ne dites pas quelle est la version d'Ubuntu que vous utilisez, mais j'ai eu des problèmes avec la 10.10 - laissez-moi savoir si vous avez besoin de moi pour poster le contenu de mon fichier de règles.

Ne vous inquiétez pas à propos de l'exécution de la bad via sudo, vous n'en avez pas besoin. L' MODE="0666" de la règle udev permet d'accéder à l'appareil en tant qu'utilisateur.


EDIT:

N'oubliez pas de redémarrer udev après l'ajout de la règle:

sudo /etc/init.d/udev restart

EDIT #2:

@Jesse Glick souligne à juste titre, si la banque est déjà en cours d'exécution en mode démon, vous aurez également besoin de redémarrer pour que cela fonctionne:

sudo adb kill-server

J'ai utilisé sudo ici, puisque cela permettra de garantir que la bad sera tué , et il est officiellement pris en charge la méthode d'arrêt du serveur. Il sera redémarré automatiquement la prochaine fois que la bad est utilisé, mais cette fois avec le bon environnement.

22voto

EboMike Points 39257

Vous devez redémarrer le serveur adb en tant que root. Voir ici

15voto

Wadya Points 111

Voici le meilleur Guide pour Linux :

  1. Installation adb et fastboot

http://wiki.CyanogenMod.org/w/ADB

  1. Le programme d’installation d’udev

http://wiki.CyanogenMod.org/w/udev

13voto

larkee Points 106

Sur ma Gentoo/Funtoo linux système, je vais avoir des problèmes similaires:

Je gotting toujours pas la bonne description de l'appareil et de l'insuffisance des autorisations:

# sudo ./adb devices
List of devices attached 
????????????    no permissions
# ./adb usb
error: insufficient permissions for device

Pour moi, aide le howto de Google. Dans mon cas, j'ai besoin d'ajouter la règle udev:

# cat /etc/udev/rules.d/51-android.rules 
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev" 

et mettre en place le système de fichiers des droits de l'

# chmod a+r /etc/udev/rules.d/51-android.rules

Après rebranchant mon smartphone, l'accès au téléphone a été un succès, il apparaît aussi maintenant dans Eclipse' Appareil Android Sélecteur:

# sudo ./adb devices
List of devices attached 
3XXXXXXXXXXXXXC device
# sudo ./adb usb
restarting in USB mode

Vous devez également vérifier l'appartenance de l'utilisateur à l' plugdev-groupe.

1voto

rzr Points 979

J’ai fixé ce problème sur mon système de debian GNU/Linux par overiding règles du système de cette façon :

J’ai utilisé le contenu des fichiers liés à : http://en.androidwiki.com/wiki/Tools

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X