configurer l'appareil pour le développement (???????????? aucune autorisation)

282

J'utilise un téléphone Samsung Galaxy Nexus ( plateforme Android 4.0 ).

Je développe une application Android sur Ubuntu linux OS. Je souhaite exécuter mon application directement sur le combiné Samsung, j'ai donc effectué les étapes de configuration suivantes:

  1. dans mon AndroidManifest.xmldossier de projet , ajouté android:debuggable="true"à l' <application>élément

  2. Sur l'appareil, dans Paramètres> Sécurité activée Sources inconnues

  3. Sur l'appareil, dans Paramètres> Options développeur, débogage USB activé

  4. Sur mon ordinateur, créé le /etc/udev/rules.d/51-android.rulesfichier avec le contenu suivant:

    SUBSYSTEM=="usb", ATTR{idVendor}=="04E8", MODE="0666", GROUP="plugdev" 
  5. Sur mon ordinateur, exécutez la chmod a+r /etc/udev/rules.d/51-android.rulescommande

Ensuite, sur mon ordinateur, j'ai ouvert un terminal et exécuté la adb devicescommande, j'ai obtenu:

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

Comme je n'ai pas vu mon appareil mais seulement ???????????? no permissions, j'ai ensuite exécuté les commandes suivantes:

 adb kill-server
 adb start-server
 adb devices

Mais j'ai quand même:

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

Pourquoi? Qu'est-ce que je rate?

Leem.fin
la source
après avoir exécuté adb kill-server, vous avez reçu le message que * le démon ne fonctionne pas. le démarrer maintenant sur le port 5037 * * le démon a démarré avec succès * --- sinon essayez-le jusqu'à ce que vous obteniez ce msg
Andro Selva
2
Essayez de vérifier que votre utilisateur est dans le plugdevgroupe.
Sergey Glotov
2
Exécuter => sudo adb start-server (Utiliser l'accès root pour exécuter adb)
Confus
enfin j'ai trouvé la solution qui fonctionnait pour moi dans ce lien github.com/snowdream/51-android
Abdulrahman Gamal

Réponses:

451

Ce qui fonctionne pour moi, c'est de tuer et de redémarrer le serveur adb. Sous Linux: sudo adb kill-serveret puis sudo adb start-server. Ensuite, il détectera presque tous les appareils prêts à l'emploi.

WarrenFaith
la source
1
J'utilise root pour exécuter la commande «adb devices» sous <android-SDK> / platform-tool /, j'ai «Aucune commande« adb »trouvée», pourquoi?
Leem.fin
8
assurez-vous que votre adb a obtenu + x -rwxrwxr-x 1 martin martin 156K 2011-11-09 15:40 adb. Essayez de vous déplacer directement dans le répertoire et de démarrer via "sudo ./adb devices". Si vous pouvez l'exécuter sans sudo, vous devriez pouvoir l'exécuter avec sudo ... Je ne sais pas quel pourrait être votre problème ...
WarrenFaith
8
Vous ne devriez pas avoir besoin d'exécuter adb en tant que root si vos autorisations udev sont correctement définies. Voir la réponse des grebulons ci-dessous, ou référencez la documentation Android: developer.android.com/tools/device.html
gnac
4
Une suggestion importante est de déconnecter le câble USB, donc vous réinitialisez adb, connectez le câble et cela fonctionne. Dans ma situation, alors que j'ai fait la procédure avec le câble connecté, cela ne fonctionne pas pour moi.
androidevil
6
Et les commandes sont: adb kill-server sudo adb start-serverpour vérifier:adb devices
Asim
350

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

Je copie le texte ici au cas où il disparaîtrait à l'avenir.

Créez un fichier nommé /tmp/android.rules avec le contenu suivant (les numéros de fournisseurs hexadécimaux ont été extraits de la page de liste des fournisseurs):

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"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1bbb", 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.

Exécutez adb devicespour confirmer qu'il a désormais l'autorisation d'accéder au téléphone.

Veuillez noter qu'il est possible d'utiliser , USER="$LOGINNAME"au lieu de , MODE="0666"dans le .rulesfichier, en remplaçant $LOGINNAMEvotre nom de connexion, c'est-à-dire ce qui id -nus'imprime.

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

grebulon
la source
7
Remarque: pour Ubuntu Precise, le nom de fichier est conforme à70-android.rules cet article: esausilva.com/2010/05/13/… . Félicitations également pour nous faire savoir que vous devez redémarrer udevet tuer tous les processus adb. A fonctionné comme un charme!
Eduard Luca
Une approche similaire est officiellement documentée sur developer.android.com/tools/device.html
bjunix
4
Cela a bien fonctionné mais, comme l'a noté @luciana dans une autre réponse, vous devrez peut-être appeler sudo udevadm control --reload-rulespour actualiser les règles udev si le redémarrage du serveur n'est pas suffisant.
serjlee
4
Cela devrait être marqué comme la bonne réponse, car sudo-ing adb ne devrait pas être une exigence pour Linux
Zac
1
C'est la seule bonne réponse ici. Merci pour cela! En outre, nous pouvons voir la sortie lsusb pour nous assurer que le fournisseur requis est inclus. Plus étrange, un seul de mes appareils (OnePlus One) a soudainement cessé de fonctionner après la mise à niveau vers Android 7.1.2 (même lorsque vous exécutez adb en tant que root), après avoir ajouté des règles udev comme décrit ci-dessus, cela fonctionne à nouveau.
user1209216
77

Saisissez les commandes suivantes:

adb kill-server sudo ./adb start-server adb devices

Le problème est que vous n'utilisez pas le serveur adb en tant que root.

iancrowther
la source
4
bien que l'idée soit la même que dans la réponse acceptée, celle-ci ne m'a aidé que grâce à l'exemple fourni. Merci
user907860
1
@ user907860 c'est en fait mieux que la réponse acceptée car cela explique pourquoi vous devriez écrire sudo :) (ce que je n'ai pas fait quand j'ai vu la réponse acceptée)
stan0
btw une idée pourquoi adb devrait fonctionner en tant que root?
stan0
désolé non, je ne me souviens pas
iancrowther
2
adb ne doit PAS être exécuté en tant que root. Si cela est nécessaire, votre système est mal configuré. Arrêtez de lancer "sudo" devant tout, cela a d'énormes implications pour la sécurité.
hackel
55

Essayé tout au-dessus, aucun n'a fonctionné .. a finalement fonctionné lorsque je passe connecté du MTP à la caméra (PTP).

Sabeer Mohammed
la source
3
Pour ceux qui se demandent comment faire cela ... Paramètres système> Stockage> Bouton supérieur droit: connexion à un ordinateur USB> Se connecter en tant que caméra sélectionnée (PTP) au lieu d'un périphérique multimédia (MTP)
Thaddeus Albers
3
mec, je cherchais la solution comme deux heures, cela fonctionne pour moi sur ubuntu 16.04, merci
Jorius
ce devrait être la première chose à vérifier. Fonctionne pour moi
m50
32

Il y a beaucoup de mauvaises réponses postées à cette question, allant de l'insistance à exécuter en adbtant que root(qui ne doit pas être présentée comme la seule ou même solution recommandée) à la résolution de problèmes complètement indépendants.

Voici la recette la plus courte et la plus universelle pour prendre en charge les autorisations pour tous adbet les fastbootappareils à la fois:

echo 'ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:ff420?:*", MODE="0666"' | sudo tee /etc/udev/rules.d/99-android.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --verbose --action=add --subsystem-match=usb

Ou vous pouvez utiliser la version un peu plus à ce que j'ai posté essentiel .

Quant à la chose spécifique qu'OP a fait de mal dans sa question - il ne s'agissait pas de recharger les udevrègles après avoir édité le .rulesfichier.

OP n'a pas non plus dit quelle version Android (alias ROM) il avait sur son téléphone. La idVendorvaleur est définie dans le logiciel et dépend donc de la ROM. La valeur 04E8qu'il a utilisée dans sa règle d'origine n'aurait donc fonctionné que pour les appareils dotés de ROM d'origine Samsung. Mais ce n'est pas un problème pour cette udevrègle - elle correspond à tous les appareils avec adbou fastbootinterfaces indépendamment de leur VendorID .

Alex P.
la source
La seule étape manquante pour le voir fonctionner est adb kill-server avant les périphériques adb.
mstrange
1
Cela ne semble plus fonctionner sur Android 8.1. Comment avez-vous découvert ce que adb rapporte comme identifiant d'appareil?
Cachapa
A travaillé pour moi sur Android 7.1.2
Amerzilla
@Cachapa, il fonctionne avec toutes les versions d'Android. Même le dernier (au moment où j'écris ceci) Android P Preview 4 utilise les mêmes ID d'interface adb - android.googlesource.com/platform/system/core/+/…
Alex P.
fonctionne toujours avec Android 11 android.googlesource.com/platform/system/core/+/…
Alex P.
16

Dans Archlinux, cela peut se produire occasionnellement. La solution:

$ sudo -s
# adb kill-server
# adb start-server
Keenan Verbrugge
la source
Je ne sais pas si c'est la seule chose qui a fait que ça marche ... J'ai essayé les trucs ci-dessus. Mais sans ce post ubuntu sur VBox, mon LG G3 n'a pas été autorisé. Merci Keenan
lastboy
Je ne sais pas pourquoi mais sudo adb kill-server; sudo adb start-servern'a pas fonctionné mais celui-ci l'a fait.
Hritik
9

Pour ceux qui utilisent Debian, le guide de configuration d'un périphérique sous Ubuntu pour créer le fichier "/etc/udev/rules.d/51-android.rules" ne fonctionne pas. J'ai suivi les instructions d' ici . Mettre la même chose ici pour référence.

Modifier ce fichier en tant que superutilisateur

sudo nano /lib/udev/rules.d/91-permissions.rules

Trouvez le texte similaire à celui-ci

# usbfs-like devices 
SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, \ MODE=”0664

Puis changez le mode en 0666 comme ci-dessous

# usbfs-like devices 
SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, \ MODE=”0666

Cela permet à adb de fonctionner, mais nous devons encore configurer l'appareil pour qu'il puisse être reconnu. Nous devons créer ce fichier en tant que superutilisateur,

sudo nano /lib/udev/rules.d/99-android.rules

et entrez

SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, ATTRS{idVendor}==”0bb4″, MODE=”0666

la ligne ci-dessus est pour HTC, suivez la publication de @ grebulon pour la liste complète.

Enregistrez le fichier puis redémarrez udev en tant que super utilisateur

sudo /etc/init.d/udev restart

Connectez le téléphone via USB et il devrait être détecté lorsque vous compilez et exécutez un projet.

jaga
la source
5

J'ai eu le même problème, la solution est en tant que boursier: (au fait, vous n'avez pas besoin de rooter votre appareil.)

  1. Tapez "su" pour passer en super utilisateur.
  2. votre-chemin / adb kill-server.
  3. votre-chemin / adb start-server.
  4. Si aucune erreur ne se produit, vous pouvez voir la liste des appareils avec "votre-chemin / appareils adb" dans le compte root.
  5. Quittez le super utilisateur.
  6. Vous pouvez maintenant effectuer des "appareils adb" dans votre compte.

Prendre plaisir.

Jeffrey Yang
la source
1
Si vous ne parvenez pas à vous connecter à l'aide de su, utilisez sudo su. J'ai fait. Et aussi, si vous ne savez pas comment quitter l'utilisateur - utilisez exit.
Pijusn
4

Je sais que cela pourrait être un peu en retard, mais voici un très bon article sur la façon d'ajouter manuellement le pilote USB Android ADB. Ajout manuel du pilote USB Android ADB dans Ubuntu 14.04 LTS

Modifié pour ajouter du contenu de lien

Pas

Remarque: assurez-vous que vous avez connecté votre appareil Android en mode de débogage USB

Ouvrez le terminal ( CTRL + ALT + T) et entrez la commande: lsusb

Vous pouvez maintenant obtenir une réponse similaire à ceci:
Bus 002 Device 013: ID 283b:1024

Remarque: En référence à ceBus 002 Device 008: ID 283b:1024
{idVendor}==”283b” {idProduct}==”1024″

Entrez maintenant la commande suivante: sudo gedit /etc/udev/rules.d/51-android.rules
Cela crée le fichier de règles android ( 51-android.rules) ou ouvre celui existant à l'emplacement spécifié ( /etc/udev/rules.d)

Ajoutez une nouvelle ligne à ce fichier:
SUBSYSTEM==”usb”, ATTRS{idVendor}==”283b”, ATTRS{idProduct}==”1024″, MODE=”0666″

Remarque Modifiez les idVendor& idProductvaleurs avec les valeurs de votre appareil. Sauver et fermer.

Entrez maintenant la commande suivante:
sudo chmod a+rx /etc/udev/rules.d/51-android.rules- accordez la permission de lecture / exécution
sudo service udev restart- Redémarrez le udevservice

Maintenant, nous devons ajouter le idVendorà adb_usb.ini. Entrez les commandes suivantes:
cd ~/.android
gedit adb_usb.ini

Ajoutez la valeur suivante 0x283b

Ce n'est rien d'autre que 0x ( idVendorvaleur). Remplacez donc la valeur par. par rapport à la valeur de votre appareil Enregistrez et fermez le fichier.

Entrez maintenant la commande suivante:
sudo service udev restart

Débranchez l'appareil Android et reconnectez-le à nouveau.
Entrez maintenant la commande suivante:
adb kill-server
adb devices

Voilà! Votre appareil doit être répertorié.

Copié à partir de l' ajout manuel du pilote USB Android ADB dans Ubuntu 14.04 LTS

A travaillé pour moi.

dc-aoxn
la source
4

J'ai eu le même problème avec mon Galaxy S3. Mon problème était que la idVendorvaleur 04E8n'était pas la bonne. Pour trouver le bon, connectez votre smartphone à l'ordinateur et exécutez-le lsusbdans le terminal. Il listera votre smartphone comme ceci:

Bus 002 Device 010: ID 18d1:d002 Google Inc.

Donc, la bonne idVendorvaleur est 18d1. Et la ligne dans le /etc/udev/rules.d/51-android.rulesdoit être:

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev" 

Puis je cours sudo udevadm control --reload-ruleset tout fonctionne!

Ulli
la source
1
Vouliez-vous dire:ATTR{idVendor}=="18d1"
Tanasis
3

Utiliser les M0Rf30/android-udev-rulesrègles udev maintenues par la communauté GitHub

https://github.com/M0Rf30/android-udev-rules/blob/master/51-android.rules

C'est la liste de règles udev la plus complète que j'ai vue jusqu'à présent, encore plus que celle actuellement recommandée sudo apt-get install android-tools-adb dans la documentation officielle , et elle a résolu ce problème pour moi.

Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
la source
1
pourquoi s'embêter à "maintenir la liste" alors qu'une seule règle fonctionne pour tous? stackoverflow.com/a/45006231/1778421
Alex P.
@AlexP. merci je ne connaissais pas cette méthode. Une idée pourquoi le guide officiel ne recommande pas cela à la place?
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
En raison principalement de la paresse et de l'inertie des connaissances. Les développeurs Android d'origine utilisaient des appareils avec le même ID de fournisseur, ils ont donc adopté l'approche la plus simple à laquelle ils pouvaient penser. Lorsque plus de fournisseurs ont créé plus d'appareils - les développeurs n'ont cessé d'ajouter des ID au fichier de règles.
Alex P.
2
  1. Suivez les instructions sur http://developer.android.com/guide/developing/device.html (lien archivé)
  2. Remplacez l'ID du fournisseur 0bb4par 18d1dans/etc/udev/rules.d/51-android.rules

    Ou ajoutez une autre ligne qui se lit comme suit:

    SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
  3. Redémarrez l'ordinateur ou redémarrez simplement le service udev.
krishnendu
la source
1

Lorsque vous redémarrez udev, tuez le serveur adb et démarrez le serveur adb sur le chemin d'installation de sdk android et faites tout sur sudo. puis exécutez les appareils adb, cela résoudra le problème d'autorisation.

Chinthaka Senanayaka
la source
1

Mon appareil est POSITIVO et mon système opérationnel est Ubuntu 14.04 LTS donc mon problème était dans le nom de variable

Je crée le fichier /etc/udev/rules.d/51-android.rules et je mets SUBSYSTEM=="usb", SYSFS{idVendor}=="1662", MODE="0666"

J'ai déconnecté l'appareil et exécuté:

$ sudo udevadm control --reload-rules
$ sudo service udev restart

après cela, j'ai à nouveau connecté l'appareil Android en mode développeur et

$ adb devices

List of devices attached 
1A883XB1K   device
luciana
la source
1

Sans débrancher

Toutes les réponses fournies supposent que vous pouvez débrancher et reconnecter le câble USB. Dans les situations où cela n'est pas possible (par exemple, lorsque vous êtes à distance), vous pouvez faire ce qui suit pour faire essentiellement ce que les règles udev suggérées feraient lors du re-plug:

lsusb

Trouvez l'appareil qui vous intéresse, par exemple:

Bus 003 Device 005: ID 18d1:4ee4 Google Inc. Nexus

Notez le numéro de bus sur lequel il se trouve, puis exécutez-le, par exemple pour le bus 003:

sudo chmod a+w /dev/bus/usb/003/*

De toute évidence, cela peut être plus permissif que vous ne le souhaitez (il peut y avoir plus d'appareils connectés que celui-ci), mais vous avez l'idée.

Christian Fritz
la source
pour appliquer la nouvelle udevrègle sans reconnecter l'appareil, utilisez simplement la udevadm trigger --verbose --action=add --subsystem-match=usbcommande.
Alex P.
1

Vous ne devez PAS exécuter le adbserveur en tant que root comme le suggèrent d'autres réponses. Au lieu de cela, si vous utilisez Arch Linux, procédez comme suit:

  1. Installez le android-udev package avec Pacman
  2. Recharger les règles udev:

    # udevadm control --reload-rules
  3. Ajoutez-vous au adbusersgroupe, puis déconnectez-vous et connectez-vous:

    # usermod -aG adbusers $LOGNAME

Source: https://wiki.archlinux.org/index.php/android#Configuring_adb

Babken Vardanyan
la source
0

Essayez au lieu d' GROUP="plugdev"utiliser le groupe principal de votre utilisateur.

Yury
la source
J'utilise mon nom d'utilisateur, cela n'aide pas
Leem.fin
0

Dans mon cas sur ubuntu 12.04 LTS, j'ai dû changer mon mode usb HTC Incredible de charge en média, puis l'appareil est apparu sous adb. Bien sûr, le débogage était déjà activé dans les deux cas.

Alan
la source
0

Veuillez NE PAS suivre les solutions suggérant d'utilisersudo ( sudo adb start-server)! Cela fonctionne adb en tant que root (administrateur) et il n'est PAS censé fonctionner comme ça !!! C'est une mauvaise solution de contournement !

Tout ce qui s'exécute en tant que root peut faire quoi que ce soit dans votre système, s'il crée ou modifie un fichier peut changer son autorisation pour être utilisé uniquement par root. Encore une fois, PAS!

La bonne chose à faire est de configurer votre système pour que l'utilisateur ait la permission, consultez ce guide que j'ai écrit sur la façon de le faire correctement.

Daniele Segato
la source
0

J'ai eu le même problème et j'ai suivi ces étapes:

# Clone this repository
git clone https://github.com/M0Rf30/android-udev-rules.git
cd android-udev-rules
# Copy rules file
sudo cp -v 51-android.rules /etc/udev/rules.d/51-android.rules
# OR create a sym-link to the rules file - choose this option if you'd like to update your udev rules using git.
sudo ln -sf "$PWD"/51-android.rules /etc/udev/rules.d/51-android.rules
# Change file permissions
sudo chmod a+r /etc/udev/rules.d/51-android.rules
# If adbusers group already exists remove old adbusers group
groupdel adbusers
# add the adbusers group if it's doesn't already exist
sudo mkdir -p /usr/lib/sysusers.d/ && sudo cp android-udev.conf /usr/lib/sysusers.d/
sudo systemd-sysusers # (1)
# OR on Fedora:
groupadd adbusers
# Add your user to the adbusers group
sudo usermod -a -G adbusers $(whoami)
# Restart UDEV
sudo udevadm control --reload-rules
sudo service udev restart
# OR on Fedora:
sudo systemctl restart systemd-udevd.service
# Restart the ADB server
adb kill-server
# Replug your Android device and verify that USB debugging is enabled in developer options
adb devices
# You should now see your device

Les étapes ci-dessus sont décrites sur android-udev-rules . Ça a marché pour moi.

Assurez-vous simplement de confirmer la boîte de dialogue qui apparaîtra sur l'écran de votre téléphone après l'avoir rebranché.

leosbrf
la source
0
sudo usermod -aG plugdev $LOGNAME

Cette commande a fonctionné pour moi

Fayaz
la source
-1

J'ai utilisé su et ça a commencé à fonctionner. Lorsque j'utilise Jetbrains avec un utilisateur normal, je vois ce problème mais après avoir redémarré Jetbrains en mode su, je peux voir mon appareil sans rien faire.

J'utilise Ubuntu 13.04 et Jetbrains 12.1.4

Deepti Kohli
la source
-1

Vous pouvez également essayer de modifier le fichier adb_usb.ini , situé dans /home/username/.android/ . Ce fichier contient la liste des fournisseurs d'ID des appareils que vous souhaitez connecter. Vous ajoutez simplement le fournisseur d'ID de votre appareil dans une nouvelle ligne (c'est un identifiant par ligne). Redémarrez ensuite le serveur adb et rebranchez votre appareil.

Cela a fonctionné pour moi sur Ubuntu 12.10.

10101101
la source
-1

Quoi qu'il en soit, ce que j'ai fait pour résoudre ce problème (sur Ubuntu ).

  1. Défini dans quels cas j'ai besoin d'exécuter ces commandes. Pour la plupart des utilisateurs d'ubuntu, il existe un dossier de départ (fichier caché .bashrc).

    Dans lequel vous pouvez enregistrer le lancement de ces commandes. Mais ces commandes seront déclenchées lorsque vous entrez la bashcommande dans la console.

  2. Comme j'ai un shell .zshrc, j'ai fait ce qui suit:

    console ouverte: gedit .zshrc

Lorsque le fichier s'ouvre, ajoutez la ligne suivante:

./.add_device_permissions.sh

Après ou avant, nous devons créer ce fichier: .add_device_permissions.shdans lequel nous écrivons ce qui suit:

#!/bin/bash
# Add permissions
ADB="/home/vadimm/Android/Sdk/platform-tools/adb"
$ADB devices
$ADB kill-server
cat .permissions_redmi_note | sudo -S $ADB devices
$ADB kill-server
cat .permissions_redmi_note | sudo -S $ADB devices

Nous devons également créer .permissions_redmi_note où nous devons coder en dur notre mot de passe.

  1. Pour ne pas ajouter au fichier .zshrcinutile, nous pouvons spécifier le chemin lors du démarrage du système lui-même:Startup Applications Preferences

Où nous appuyons sur "Ajouter" et écrivons notre commande: /home/vadimm/.add_device_permissions.sh

  1. Vous pouvez également essayer d'utiliser en ligne de commande les commandes suivantes: ./adb devices ./adb kill-server sudo ./adb devices ./adb kill-server ./adb devices
Morozov
la source
-2

Si quelqu'un fait face au message d'erreur suivant lorsqu'il utilise adb devices

no permissions (verify udev rules); see [http://developer.android.com/tools/device.html]

Exécutez ce qui suit

sudo -s 
adb kill-server
adb start-server

Cela a résolu le problème pour moi sur un appareil Android personnalisé

Ismail Iqbal
la source