8 votes

ADB sur Ubuntu ne reconnaît pas le Nexus 4

Je n'arrive pas à faire reconnaître mon téléphone Nexus 4 par ADB sur Ubuntu (12.04 avec un noyau plus récent installé : 3.8.0-30-generic). Le mode développeur est activé sur le téléphone.

L'appareil apparaît dans lsusb :

$ lsusb
...
Bus 003 Device 034: ID 18d1:4ee5 Google Inc. 
...

Mais quand je cours dispositifs adb J'obtiens une liste vide. J'ai trouvé de nombreux messages sur Internet concernant ce problème, mais aucun ne résout le problème. Il y a deux solutions.

  • Ajouter une règle à /etc/udev/rules.d/51-Android.rules . J'ai trouvé plusieurs variantes pour le contenu de ce fichier. Dans la plupart des cas, un idVendor y idProduit doit être définie en fonction de la sortie de lsusb . Voici quelques exemples que j'ai essayés

    SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4ee5", MODE="0666" GROUP="androiddev", SYMLINK+="android%n" SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", SYMLINK+="android_adb", MODE="0666" SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee5", MODE="0666", OWNER="my-login"

Après avoir ajouté ceci, j'ai défini les permissions pour le fichier de règle à 644 et j'ai redémarré le PC/ redémarré udev, redémarré le téléphone et branché mon Nexus 4.

  • Ajouter l'identifiant du fournisseur dans ~/.Android/adb_usb.ini.

    echo 0x18d1 >> ~/.android/adb_usb.ini

J'ai couru dispositifs adb en tant que Root et utilisateur normal mais je n'obtiens qu'une liste vide :

$ adb devices
\* daemon not running. starting it now on port 5037 \*
\* daemon started successfully \*
List of devices attached 

Avez-vous des idées sur la façon de résoudre ce problème ? Toute aide ou suggestion serait grandement appréciée.

7voto

Andy Brudtkuhl Points 1714

Il ne suffit pas de faire le Options pour les développeurs apparaissent dans le menu des paramètres (en appuyant plusieurs fois sur le numéro de construction). Sur cette page, il y a une option Débogage USB qui est désactivé par défaut.

Lorsque la fonction de débogage USB est activée, la connexion de votre appareil à un PC à l'aide du port USB fait apparaître la notification "Débogage USB connecté", indépendamment du fait que adb est en cours d'exécution sur le PC.

1voto

mluebke Points 2588

Pour un ensemble d'instructions plus complet sur la façon de configurer les règles udev du Nexus 4 sur ubuntu, suivez ces instructions :

Comment trouver votre appareil Vendor ID

Vous pouvez trouver un Vendor ID pour les périphériques connectés à l'aide de la commande linux suivante :

lsusb

Cela va générer une liste de tous les périphériques USB connectés. Assurez-vous que votre périphérique est connecté avant de le faire.

Bus 001 Device 004: ID 18d1:4ee2 Google Inc.

La première partie du champ après ID est l'ID du fournisseur (18d1) et la deuxième partie correspond au mode dans lequel le dispositif est connecté. Dans ce cas, 4ee2 correspond au mode MTP avec débogage activé.

CRÉER UNE RÈGLE UDEV POUR NEXUS 4

Pour pouvoir détecter le téléphone Nexus 4 sous Ubuntu, la première chose à faire est de créer les règles udev appropriées qui permettront au système de détecter le téléphone.

Ces règles udev devraient être capables de gérer 4 cas différents :

  • téléphone connecté en mode MTP (débogage USB activé ou désactivé)
  • téléphone connecté en mode PTP (débogage USB activé ou désactivé)
  • téléphone connecté en mode Fastboot
  • téléphone connecté en mode récupération

Ils seront déclarés dans /etc/udev/rules.d/99-android.rules . Si le fichier existe déjà, ajoutez simplement le contenu à la fin de celui-ci.

# sudo gedit /etc/udev/rules.d/99-android.rules

Le contenu ci-dessous doit être ajouté. Assurez-vous de remplacer le votre-login avec votre nom d'utilisateur correct avec lequel vous vous êtes connecté.

# Google Nexus 4 16 Gb
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee1", MODE="0666", OWNER="your-login" # MTP media (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee2", MODE="0666", OWNER="your-login" # MTP media with USB debug on(multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee5", MODE="0666", OWNER="your-login" # PTP media (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee6", MODE="0666", OWNER="your-login" # PTP media with USB debug on (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee0", MODE="0666", OWNER="your-login" # Bootloader
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666", OWNER="your-login" # Recovery

Redémarrer les services

Une fois fait, le service udev doit être redémarré.

# sudo service udev restart

Notez que dans certains cas, il est également nécessaire de redémarrer adb avec :

adb kill-server
adb start-server

Ou redémarrer complètement le système avec :

sudo reboot -n

La reconnexion du câble USB (au lieu d'un redémarrage) peut également fonctionner.

Autoriser la connexion ADB

Si vous venez d'activer l'option de débogage ADB sur votre téléphone et que vous avez créé cette nouvelle connexion, la commande ADB peut afficher votre appareil sous la forme suivante unauthorized . Il suffit ensuite de vérifier l'écran de votre téléphone pour autoriser la nouvelle connexion.

Crédits

La plupart de ces informations ont été trouvées sur le site http://bernaerts.dyndns.org/Android/267-Android-nexus4-Root-twrp-ubuntu . Il s'agit d'un guide d'enracinement pour Nexus 4 sur Ubuntu. Je n'ai utilisé que la première étape de ce guide.

1voto

bwillan Points 71

J'utilise Ubuntu 14.04 LTS et j'ai constaté que je dois exécuter adb avec les autorisations Root pour qu'il détecte mon téléphone. A l'instant, j'ai exécuté (à partir du répertoire platform-tools) ./adb devices et j'ai trouvé une liste vide. J'ai redémarré adb en tant que Root en exécutant ./adb kill-server et ensuite sudo ./adb start-server . Maintenant adb devices retours :

List of devices attached 
01d17087d29dec60    device

Alors qu'avant, ça ressemblait à ça :

List of devices attached

0voto

flowtron Points 121

Pour info : j'ai récemment mis à jour la version d'Android de 4.4 à 5.0 sur mon téléphone et ADB ne montrait plus l'appareil comme étant connecté. Il semble où la méthode de connexion USB MTP était correcte avant qu'elle doit maintenant être PTP .

androidalle.com

AndroidAlle est une communauté de androiders 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