Quand j'essaye:
$ adb devices
j'obtiens le résultat:
List of devices attached
???????????? no permissions
quel est le problème?
essayé sur une machine Ubuntu 16.04 et cela a fonctionné parfaitement. essayé un appareil 7.1.1 et cela a également fonctionné parfaitement.
android
17.04
android-studio
adb
Nadav Tasher
la source
la source
sudo adb devices
. Si cela fonctionne très bien, mais de mémoire, je n'ai pas eu à être root pour vérifier les périphériques connectés.Réponses:
Essayez de redémarrer le serveur Adb.
et alors
puis connectez votre appareil, activez Debugging et tapez
la source
adb devices
affiche le périphérique (et j’obtiens la boîte de dialogue des empreintes digitales). Cependant, cela ne fonctionne toujours pas avec Android Studio. En outre, lorsque je lance android studio, puis àadb devices
partir d’une console, j’obtiens un "serveur adb obsolète" et que le serveur adb redémarre. Après cela, je reviens à la situation "aucune autorisation".J'ai eu le même problème. S'assurer que le mode USB de l'appareil n'est PAS en cours de chargement n'a résolu le problème.
la source
Très probablement, udev ajoute de manière incorrecte votre appareil. Moi aussi j'ai eu ce problème et je suis tombé sur une solution relativement simple.
Trouvez votre appareil dans lsusb
Point d'intérêt dans ce cas:
Extraire le fichier de périphérique correspondant
Vous verrez probablement quelque chose comme
Cela signifie que le fichier de périphérique appartiendra à l'utilisateur root et au groupe root. C'est pourquoi adb peut y accéder en tant que root mais pas en tant qu'utilisateur standard.
Cela peut être résolu en créant une nouvelle règle udev - j'ai déjà utilisé
/etc/udev/rules.d/51-android.rules
- pour ajouter le périphérique au groupeplugdev
, lequel adb suppose déjà que vous êtes membre de (vous devriez le faire, vérifiez avecid
).** N'oubliez pas de remplacer l'ATTR {idProduct} == "4ee7" par votre propre identifiant de produit que vous avez découvert à la première étape. ** (Si votre fournisseur n'est pas Google Inc., remplacez également l'identifiant du fournisseur par celui qui précède les deux points dans lsusb).
Il suffit maintenant de débrancher votre appareil et de le rebrancher (udev devrait répondre automatiquement au nouveau fichier) et tadaa:
Source: Ajout de règles udev pour le débogage USB de périphériques Android - Janos Gyerik
la source
Pour développer la réponse de Sumeet Deshmukh, son approche fonctionne en général - si vous souhaitez uniquement utiliser la
adb
commande depuis la console.Cependant, Android Studio démarre apparemment son propre serveur publicitaire, tuant le nôtre. Cela signifie qu'après que le serveur a été tué / démarré avec sudo, Studio le redémarre, ce qui conduit à la situation de démarrage: aucune autorisation.
La solution consiste à démarrer d'abord Studio, puis à démarrer / arrêter le serveur. Ce faisant, j'ai réussi à faire en sorte que mon Nexus 5X apparaisse comme une cible d'exécution valide dans Studio.
Ce n'est pas la meilleure situation (avoir à exécuter des commandes chaque fois que vous démarrez Studio), mais cela fait l'affaire d'une manière rapide et sale. Si je trouve une solution plus permanente, je mettrai à jour cette réponse.
la source
Changer le mode USB à partir du téléphone a fait l'affaire pour moi. (Je l'ai défini sur Transfert de fichier .)
la source
Veuillez NE PAS suivre les solutions suggérant d'utiliser
sudo
(sudo adb start-server
)! Cette exécution adb en tant que root (administrateur) et il n'est pas supposé fonctionner comme ça !!! C'est une mauvaise solution de contournement !Tout ce qui fonctionne en tant que root peut faire n'importe quoi sur votre système. S'il crée ou modifie un fichier, il peut changer son autorisation pour être utilisé uniquement par root. Encore une fois, NE PAS!
La bonne chose à faire est de configurer votre système pour que l'utilisateur reçoive l'autorisation, consultez ce guide que j'ai écrit pour savoir comment le faire correctement.
la source
Cela ne fonctionnait pas pour moi après que je me suis ajouté au
plugdev
groupe et que j'ai redémarré la machine juste pour m'assurer que le changement prend effet dans toutes mes sessions shell. J'ai alors constaté qu'il n'y avait aucun51-android.rules
fichier/etc/udev/rules.d
et j'ai dû procéder comme suit pour résoudre le problème:J'ai également dû débrancher et rebrancher mon appareil Android.
la source
Vous devez fournir une autorisation sur votre appareil Android. Allez dans Paramètres> Options du développeur. Essayez d’activer et de réactiver le débogage Usb. Retirez le câble et reconnectez-le. Essayez également de supprimer toutes les autorisations enregistrées des options du développeur. Il devrait maintenant demander l'autorisation de débogage par une invite sur votre téléphone. Accepte-le.
la source
M0Rf30/android-udev-rules
La communauté GitHub a maintenu les règles udevhttps://github.com/M0Rf30/android-udev-rules/blob/master/51-android.rules
C’est la liste la plus complète de udev-rules que j’ai vue jusqu’à présent, même plus que ce qui est actuellement recommandé
sudo apt-get install android-tools-adb
dans la documentation officielle . Essayez-le.la source
Je ne sais pas pourquoi cela fonctionne, mais c'était la seule solution qui fonctionnait pour moi
Trouvez où adb est en cours d'exécution (si vous êtes comme moi, plusieurs versions sont installées). N'oubliez pas que des outils tels que react native peuvent décider d'utiliser d'autres versions aléatoires afin de vous rendre la vie plus difficile. Pour moi c'est
~/Android/Sdk/platform-tools/adb
. Alors je vais courir:Les outils Android sont super énervants.
la source
Allez dans Paramètres >> Maintenance >> Stockage. Ensuite, vérifiez le menu en haut à gauche et cliquez sur connexion ordinateur USB puis passez à Périphérique multimédia (MTP).
la source
Assurez-vous que vos règles udev sont en place, vérifiez
/etc/udev/rules.d
Vous pouvez trouver les règles appropriées ici: https://raw.githubusercontent.com/M0Rf30/android-udev-rules/master/51-android.rules
Il suffit de les placer dans
/etc/udev/rules.d/
, puis:Maintenant, assurez-vous que le serveur adb n'est pas en cours d'exécution:
Ajoutez votre utilisateur à adbusers:
Maintenant, utilisez
su $USER
( référence ) afin que votre utilisateur appartienne réellement àadbusers
(vérifier avecgroups
)Et puis redémarrez simplement le serveur adb:
Si votre appareil n'apparaît pas
adb devices
, reconnectez-le.la source