44 votes

Comment configurer l'accès ADB pour les appareils Android ?

J'utilise Ubuntu 12.10 et j'ai installé Android SDK, défini son chemin d'accès dans mon user .bashrc et cela fonctionne.

Le problème est que mon téléphone exige que adb soit exécuté par root pour les permissions, mais en exécutant adb avec sudo, j'obtiens l'erreur suivante :

sudo : adb : commande non trouvée

J'ai essayé d'utiliser simplement sudo -E adb start-server mais cela ne fonctionne pas. J'ai essayé d'ajouter la ligne du chemin d'exportation à /root/.bashrc et (après s'être rendu compte que cela ne servait à rien) à /etc/bash.bashrc .

Je me souviens que je pouvais le régler sur mon Arch Linux, mais je pense que mon problème est lié au fait que le compte racine d'Ubuntu ne se comporte pas comme je l'attends.


Ce que je ne comprends pas, c'est la chose suivante :

Ceux-ci ne fonctionnent pas :

martin@alyx:~$ sudo adb devices
sudo: adb: command not found

C'est le cas (en tapant le chemin d'accès complet) :

martin@alyx:~$ sudo /opt/android-sdk-linux/platform-tools/adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
CM7-Blade   device

Cela ne fonctionne pas (en utilisant -E avec sudo) :

martin@alyx:~$ sudo -E adb devices
sudo: adb: command not found

Cela fonctionne (en tant que racine) :

martin@alyx:~$ sudo su
root@alyx:/home/martin# adb devices
List of devices attached 
CM7-Blade   device

Je suis totalement perdu et j'apprécierais que l'on m'explique comment définir un chemin d'accès pour sudo ou comment je pourrais résoudre mon problème.

(Et s'il vous plaît, ne dites pas qu'adb ne doit pas être exécuté en tant que root).

Merci d'avance !

Editer : Je veux dire par là que j'ai besoin des permissions de l'administrateur, car sinon je ne peux rien faire :

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

ce qui ne se produit pas en tant que superutilisateur. Désolé si c'était un malentendu.

0voto

maxnorbi Points 1

Bien que la réponse acceptée m'ait aidé à faire avancer les choses, je n'ai toujours pas compris :

martin@alyx:~$ sudo adb devices
sudo: adb: command not found

et surtout

martin@alyx:~$ sudo -E adb devices
sudo: adb: command not found

puisque, selon le sudo --help :

-E, --preserve-env          preserve user environment when running command

Il s'avère que sur de nombreuses distributions linux (y compris Debian et Ubuntu) secure_path y env_reset Les options sont activées par défaut, ce qui a pour effet de réinitialiser votre PATH et lui attribuer la valeur secure_path . Vous pouvez le modifier dans le /etc/sudoers en utilisant visudo.

Vous pouvez également exécuter le programme :

sudo env PATH=$PATH adb devices

0voto

Je sais que cela peut sembler vaudou, mais achetez un nouveau câble de données USB de haute qualité . De nombreux câbles ne sont conçus que pour la recharge. J'ai été confronté à ce problème pendant des années en suivant toutes les suggestions et autres, avec des pertes de connexion constantes, et un bon câble de données USB de haute qualité a fait la différence.

0voto

zeitgeist Points 101

J'ai personnellement rencontré le problème où mon appareil avec un port USB C apparaissait dans lsusb mais pas dans adb devices.

J'ai essayé toutes les solutions données comme adb kill-server, configurer /etc/udev/rules.d/51-android.rules fichier, ~/.android/adb_usb.ini en définissant les règles adb https://github.com/M0Rf30/Android-udev-rules et redémarrer, mais rien n'y fait.

Ce qui a finalement fonctionné, c'est la connexion de l'appareil à un port USB2.0. J'avais un nouvel ordinateur de bureau et la plupart des ports étaient USB3.0.

-1voto

user121040 Points 1

Essayez cette commande : sudo tools/android update sdk --no-ui

SDK README :

W L'archive du SDK Android ne contient initialement que les outils de base du SDK. Elle ne contient ne contient pas de plateforme Android ni de bibliothèques tierces. En fait, elle ne contient même pas tous les outils dont vous avez besoin pour développer une application. Pour commencer à développer des applications, vous devez installer les outils de la plateforme et au moins une version de la plateforme Android, à l'aide du SDK Manager. Platform-tools contient des outils de construction qui sont périodiquement mis à jour pour prendre en charge les nouvelles fonctionnalités de la plateforme Android (qui est en cours de développement). fonctionnalités de la plateforme Android (c'est pourquoi ils sont séparés des outils de base du SDK de base), notamment adb, dexdump et d'autres. Pour installer Platform-tools, les plateformes Android et d'autres modules complémentaires, vous devez disposer d'une connexion internet. Si vous prévoyez d'utiliser le SDK hors ligne, veillez à Si vous prévoyez d'utiliser le SDK hors ligne, veillez à télécharger les composants nécessaires en ligne. Pour lancer le SDK Manager, exécutez le programme "Android". À partir de la ligne de commande, vous pouvez également déclencher directement une mise à jour en exécutant : tools/android update sdk --no-ui

SistemesEz.com

SystemesEZ est une communauté de sysadmins 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