Comme décrit dans Configurer ADB pour le Nexus 4 sur Ubuntu 11.10 sous Linux, il est important de figurer dans l'une ou l'autre des listes suivantes ~/.android/adb_usb.ini
(basé sur l'utilisateur) ou /etc/udev/rules.d/51-android.rules
. La syntaxe des deux fichiers diffère : alors que dans le premier cas, il suffit d'ajouter l'identifiant du vendeur ( echo 0x18d1 >> ~/.android/adb_usb.ini
pour un Nexus 4), l'entrée pour la règle UDEV est un peu plus complexe. Les détails peuvent être trouvés dans la question liée (ou plutôt ses réponses).
Dans le cas de krlmlr, il ne s'agissait pas d'un "ou bien", mais apparemment les deux parties étaient nécessaires (je n'ai jamais eu ce problème auparavant, et je n'ai même jamais utilisé l'outil de gestion de l'information). adb_usb.ini
-- mais cela ne veut pas dire qu'il n'y a pas de telles exceptions). En ajoutant le dispositif dans les deux endroits (ce qui ne peut pas faire de mal de toute façon), le dispositif est finalement apparu.
Deux remarques supplémentaires : Après avoir modifié les règles UDEV, le service UDEV doit être redémarré pour accepter les changements. Sur Ubuntu, cela peut être fait via sudo service udev restart
(alternativement, vous pouvez simplement forcer UDEV à recharger ses règles en utilisant udevadm control --reload-rules
). Si votre appareil n'est toujours pas détecté, il est fort probable qu'il était branché pendant que vous effectuiez les modifications ; vous devez alors débrancher et rebrancher le câble USB. Bien entendu, Débogage USB doit être activé dans votre appareil :)
Exemple
par krlmlr
Sur la base de la sortie suivante de lsusb
pour l'appareil Android en question :
Bus 002 Device 009: ID 2207:0010
il était nécessaire de créer /etc/udev/rules.d/51-android.rules
como root
avec le contenu suivant :
SUBSYSTEM=="usb", ATTR{idVendor}=="2207", ATTR{idProduct}=="0010", MODE="0660", GROUP="plugdev"
y pour créer ~/.android/adb_usb.ini
avec le contenu suivant :
0x2207
Le premier est nécessaire pour permettre aux utilisateurs réguliers (qui appartiennent au groupe plugdev
) pour accéder à l'appareil. Notez le masque d'autorisation 0660
au lieu de l'habituel 0666
qui est plus faible du point de vue de la sécurité (le second permet un accès "monde", alors que le premier ne permet qu'un accès "utilisateur et groupe"). La seconde est nécessaire pour que adb
tente de parler à l'appareil en premier lieu. Après ça :
sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo udevadm control --reload-rules
adb kill-server
et débrancher+rebrancher votre appareil Android. Ensuite,
adb devices
a finalement montré l'appareil Android.
Remarque d'Izzy :
Pour mon LG Optimus 4X HD il suffisait d'ajouter une ligne à /etc/udev/rules.d/51-android.rules
:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1004", ATTRS{idProduct}=="61a6", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"
Peut-être que le SYMLINK
fait la différence que je n'ai pas eu besoin de l'entrée supplémentaire dans le fichier ~/.android/adb_usb.ini
.
1 votes
Vous pouvez vérifier Configurer ADB pour le Nexus 4 sur Ubuntu 11.10 . Peut-être avez-vous omis l'étape de faire connaître votre appareil :)
0 votes
@Izzy : L'ajout de l'ID du fabricant à la
adb_usb.ini
Le fichier a résolu le problème immédiatement. Merci beaucoup ! Voulez-vous écrire une réponse pour que je puisse l'accepter ?0 votes
Bien sûr, je viens de le faire. Comme nous avons déjà les détails dans la question liée, je suis resté plus général. Je suis heureux que la question ait été résolue aussi facilement, mais d'un autre côté, c'est exactement ce à quoi je m'attendais :) Profitez-en ! // Btw, pour d'autres machines à mettre en place facilement, vous pourriez également être intéressé par Existe-t-il une installation minimale d'ADB ? -- ce qui m'a finalement convaincu de le faire : Il suffit de copier quelques fichiers, et le tour est joué. Pas besoin du SDK complet si vous n'êtes pas un développeur :)
0 votes
@Izzy : Dans Ubuntu, je peux installer
adb
en utilisantapt-get install android-tools-adb
. Il n'est plus nécessaire de copier des fichiers ou d'ajusterPATH
paramètres. Le paquet lui-même est minuscule et ne contient queadb
et quelques fichiers nécessaires.0 votes
Je le sais (car j'utilise aussi Ubuntu). Mais j'ai également entendu dire qu'il entraîne un tas de dépendances - c'est pourquoi j'ai eu recours à la "variante de copie". Ici, les exécutables sont compilés de manière statique, donc cela fonctionne toujours quelle que soit la distribution.
0 votes
@Izzy : Exact, la dépendance à zlib1g va casser libxml2 et texlive-binaries. Hm... Lourd.
0 votes
Tu vois ? Ça commence. Donc, au lieu de s'embêter avec des dépendances compliquées pour réparer une "simple installation apt-get", il s'avère finalement beaucoup plus simple de télécharger et de décompresser un fichier manuellement :)
0 votes
@Izzy : Attends, j'avais tort. Cela ne casserait que libxml2 ou texlive-binaries si ces paquets sont très vieux. En pratique, j'opterais toujours pour le
apt
à moins qu'une installation ne tente de désinstaller la moitié de mon système, mais ce n'est pas le cas ici. Quoi qu'il en soit, les deux méthodes pour obtenir les fichiers sont valables et fonctionnent la plupart du temps :-)