293 votes

mettre en place le dispositif pour le développement ( ??? pas d’autorisations)

J'utilise un Samsung galaxy nexus téléphone (Android 4.0, la plateforme) .

Je développe une application Android sur Ubuntu linux OS. Je voudrais lancer ma candidature directement sur le Samsung combiné de l'appareil, de sorte que je n'ai la configuration suivante suit:

  1. dans mon projet AndroidManifest.xml fichier, ajoutez - android:debuggable="true" de la <application> élément

  2. Sur l'appareil, les Paramètres de Sécurité > activer les sources Inconnues

  3. Sur l'appareil, les Paramètres > options pour les Développeurs activer le débogage USB

  4. Sur mon ordinateur, créer le fichier /etc/udev/rules.d/51-android.rules , le contenu du fichier est:

    SUBSYSTEM=="usb", ATTR{idVendor}=="04E8", MODE="0666", GROUP="plugdev"

  5. Sur mon ordinateur, exécutez la commande chmod a+r /etc/udev/rules.d/51-android.rules

Ensuite, j'ai ouvert un terminal et exécuter la commande adb devices sur mon ordinateur , j'ai eu:

List of devices attached 
????????????    no permissions

Depuis je n'ai pas mon appareil mais uniquement "??????? aucune autorisation", je puis exécutez les commandes suivantes:

 adb kill-server
 adb start-server
 adb devices

Mais j'ai toujours:

List of devices attached 
 ????????????   no permissions

Pourquoi? Ce qui me manque??

466voto

WarrenFaith Points 28137

Ce qui fonctionne pour moi, c’est faire tous le tuer adb et commence comme une racine. Puis il permet de détecter presque tous les appareils hors de la boîte.

355voto

grebulon Points 2302

Rien n'a fonctionné pour moi jusqu'à ce que j'ai finalement trouvé la réponse ici: http://ptspts.blogspot.co.il/2011/10/how-to-fix-adb-no-permissions-error-on.html

Je suis de copier le texte ici au cas où elle disparaît dans l'avenir.

Créez un fichier nommé /tmp/android.règles avec le contenu suivant (hex vendeur numéros ont été prises à partir de la liste des fournisseurs de page):

SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666"

Exécutez les commandes suivantes:

sudo cp /tmp/android.rules /etc/udev/rules.d/51-android.rules
sudo chmod 644   /etc/udev/rules.d/51-android.rules
sudo chown root. /etc/udev/rules.d/51-android.rules
sudo service udev restart
sudo killall adb

Débranchez le câble USB entre le téléphone et l'ordinateur.

Rebranchez le téléphone.

Run bad appareils pour confirmer que maintenant il a l'autorisation d'accéder au téléphone.

Veuillez noter qu'il est possible de l'utiliser , USER="$identifiant de connexion" à la place de la , MODE="0666" dans le .fichier de règles, en remplaçant $identifiant de connexion pour votre nom de connexion, c'est à dire ce que id -nu imprime.

Dans certains cas, il peut être nécessaire de donner les règles udev fichier un nom qui trie près de la fin, comme z51-android.des règles.

85voto

iancrowther Points 1313

Entrez les commandes suivantes :



La question est votre serveur adb pas en cours d’exécution en tant que root.

17voto

Dans Archlinux cela peut se produire occasionnellement. Le correctif :

5voto

Jeffrey Yang Points 61

J’ai eu le même problème, la solution est Fellow : (en passant, vous n’avez pas à la racine de votre périphérique.)

  1. Tapez « su » pour passer de super utilisateur.
  2. votre-chemin/adb kill-server.
  3. démarrer votre-chemin/adb-serveur.
  4. Si aucune erreur ne se produit, vous pouvez voir la liste des périphériques avec « votre-chemin/adb devices » au compte root.
  5. Quittez le super-utilisateur.
  6. Vous pouvez maintenant effectuer « adb devices » dans votre compte.

Profitez.

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