J'utilise Ubuntu 10.10 64 bits. J'ai installé ia32-libs avec Android Debug Bridge version 1.0.26.
Mes problèmes):
adb devices
>>> ???????????? pas de permissionssudo adb devices
>>>> sudo: adb: commande introuvableadb shell
>>> erreur: autorisations insuffisantes pour l'appareil
Je suppose que tout cela est lié. 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 Moto Droid enraciné exécutant CM6.1 et un G-Tab enraciné exécutant une ROM basée sur CM7.
J'ai examiné les articles connexes suivants:
- http://forum.xda-developers.com/archive/index.php/t-522827.html
- http://ubuntuforums.org/archive/index.php/t-1164359.html
- Commande adb introuvable dans l'environnement linux
J'ai essayé la plupart (pas toutes) des suggestions et je n'ai pas été en mesure de résoudre mon problème. Les choses que je n'ai pas essayées me semblaient inappropriées. J'apprécierais quelques conseils supplémentaires et je continuerai à dépanner.
Une chose que je n'ai pas essayée a été de modifier /etc/udev/rules.d/70-android.rules. Est-ce que c'est probablement le problème? Je ne vois pas comment cela provoquerait "sudo: adb: commande non trouvée". Peut-être que mes problèmes ne sont pas tous liés. Quoi qu'il en soit, à ce stade, je pense que j'ai besoin de la contribution d'autres personnes parce que je ne pense pas avoir de problème de chemin ou d'autres problèmes courants abordés dans ces autres messages.
EDIT: RÉSOLU grâce à EboMike et RivieraKid. C'était en fait deux problèmes différents:
L'élément n ° 2 ci-dessus (sudo: adb: commande non trouvée) a été résolu en créant un lien symbolique comme suit:
$ sudo ln -s /opt/android-sdk-linux_x86/platform-tools/adb /usr/local/sbin/adb
Cela m'a permis de faire ce qu'EboMike a suggéré et d'utiliser cette solution . Cela était nécessaire pour mon Moto Droid. (Cependant, exécuter adb en tant que sudo n'était pas nécessaire pour ma Viewsonic G-Tablet.)
Mes deux autres problèmes ont été résolus en implémentant la règle udev comme le suggérait RivieraKid (à partir de ce lien ).
Réponses:
Une raison particulière pour laquelle vous ne l'avez pas fait? Pour répondre à la question - OUI! Les règles udev sont ce qui informe Ubuntu de votre appareil et permet aux outils de l'espace utilisateur d'y accéder.
Vous ne pourrez pas utiliser adb sans suivre correctement les instructions .
Dans cet esprit cependant, vous ne dites pas quelle version d'Ubuntu vous utilisez, mais j'ai eu des problèmes avec 10.10 - faites-moi savoir si vous avez besoin que je publie le contenu de mon fichier de règles.
Ne vous inquiétez pas pour exécuter adb via sudo, vous n'en avez pas besoin. La
MODE="0666"
règle from the udev vous permet d'accéder à l'appareil comme n'importe quel utilisateur.ÉDITER:
N'oubliez pas de recharger les règles:
sudo udevadm control --reload-rules
MODIFIER N ° 2:
Comme @Jesse Glick le souligne correctement, si adb est déjà en cours d'exécution en mode démon, vous devrez également le redémarrer pour que cela fonctionne:
sudo adb kill-server
J'ai utilisé sudo ici, car cela garantira que adb sera tué, et c'est la méthode officiellement prise en charge pour arrêter le serveur. Il sera automatiquement redémarré la prochaine fois qu'adb sera utilisé, mais cette fois avec l'environnement correct.
la source
adb
démon, s'il était déjà en cours d'exécution.Vous devez redémarrer le serveur adb en tant que root. Regardez ici .
la source
me@desktop:/opt/android-sdk-linux_x86/platform-tools$ sudo adb kill-server sudo: adb: command not found me@desktop:/opt/android-sdk-linux_x86/platform-tools$ adb kill-server me@desktop:/opt/android-sdk-linux_x86/platform-tools$ sudo adb start-server sudo: adb: command not found
adb
n'est pas sur le chemin de votre superutilisateur. Entrezwhich adb
pour savoir dans quel chemin il se trouve, puis ajoutez-le au chemin de la racine.Sur mon système Linux Gentoo / Funtoo, j'ai des problèmes similaires:
Je n'ai toujours pas la bonne description de l'appareil et des autorisations insuffisantes:
# 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'avais 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 paramétrer les droits du système de fichiers
# chmod a+r /etc/udev/rules.d/51-android.rules
Après avoir rebranché mon smartphone, l'accès au téléphone a réussi, il apparaît également maintenant dans le sélecteur d'appareils Android d'Eclipse:
# sudo ./adb devices List of devices attached 3XXXXXXXXXXXXXC device # sudo ./adb usb restarting in USB mode
Vous devez également vérifier l'appartenance de votre utilisateur au groupe plugdev .
la source
Chaque réponse que j'ai lue indique le
SUBSYSTEM=="usb"
. Cependant, mon udev (peut-être ancien) avait besoin que cela soit changé enDRIVER=="usb"
. Enfin, je peux exécuter le serveur adb en tant qu'utilisateur non root ... yay.Il peut être instructif de regarder la sortie de udevmonitor --env, suivie de la sortie de
udevinfo -a -p <DEVICE_PATH_AS_REPORTED_BY-udevmonitor>
la source
udevmonitor
etudevinfo
n'existent pas sur votre machine, utilisezudevadm monitor
et à laudevadm info -a -p ...
place.Veuillez noter que les IDE comme IntelliJ IDEA ont tendance à démarrer leur propre serveur adb.
Même le fait de tuer manuellement le serveur et d'exécuter une nouvelle instance avec sudo n'aidera pas ici tant que vous n'aurez pas obligé votre IDE à tuer le serveur lui-même.
la source
le redémarrage du serveur adb en tant que root a fonctionné pour moi. voir:
derek@zoe:~/Downloads$ adb sideload angler-ota-mtc20f-5a1e93e9.zip loading: 'angler-ota-mtc20f-5a1e93e9.zip' error: insufficient permissions for device derek@zoe:~/Downloads$ adb devices List of devices attached XXXXXXXXXXXXXXXX no permissions derek@zoe:~/Downloads$ adb kill-server derek@zoe:~/Downloads$ sudo adb start-server * daemon not running. starting it now on port 5037 * * daemon started successfully * derek@zoe:~/Downloads$ adb devices List of devices attached XXXXXXXXXXXXXXXX sideload
la source
J'ai résolu ce problème sur mon système debian GNU / Linux en remplaçant les règles système de cette façon:
J'ai utilisé le contenu de fichiers liés à: http://rootzwiki.com/topic/258-udev-rules-for-any-device-no-more-starting-adb-with-sudo/
la source
HTC One m7 exécutant Cyanogenmod 11 frais.
Le téléphone est connecté via USB et relie ma connexion de données.
Ensuite, j'ai cette surprise:
cinder@ultrabook:~/temp/htc_m7/2015-11-11$ adb shell error: insufficient permissions for device cinder@ultrabook:~/temp/htc_m7/2015-11-11$ adb devices List of devices attached ???????????? no permissions
SOLUTION: désactivez le partage de connexion sur le téléphone.
cinder@ultrabook:~/temp/htc_m7/2015-11-11$ adb devices List of devices attached HT36AW908858 device
la source
Je viens de subir la même situation, la réinitialisation des données d'usine a bien fonctionné pour moi.
la source