Android Studio reconnaît l'appareil physique comme nul?

89

J'ai développé un Android Application for Android(SDK min version 14) et je l'ai testé normalement avec des tablettes telles que Samsung Galaxy 2 and Nexus 7. Cependant, lorsque j'ai essayé d'exécuter l'application (en cliquant sur Exécuter AndroidStudio), AS ne reconnaît pas les informations de la tablette, qui sont affichées dans l'image ci-dessous.

L'appareil est nul

La chose intéressante est que, comme le montre l'image ci-dessus, AS détecte également le sdk de l'appareil car API 1lorsque sa version Android est 4.2.2 La tablette est déjà configurée pour accepter " USB debugging" dans les options du développeur, j'ai essayé de redémarrer la tablette et de redémarrer AS , mais je reçois toujours le même problème (tout va bien nexus 7 and Samsung Galaxy 2).

La tablette / l'appareil sur lequel je travaille est un T742 «VeryKool»

Environment information:
 OS: ubuntu
 AndroidStudio version: 0.8.6

 Tablet Android version:4.2.2
 Tablet Kernel version: 3.4.5
 App min SDK: 14
Jorch914
la source
3
J'ai eu ce problème avant. C'est juste que la tablette n'est pas reconnue comme telle par votre PC et ne donne donc pas à votre utilisateur la permission de l'utiliser. Vous pouvez démarrer le service adb en tant que root (sur votre PC), ou simplement ajouter ce type de périphérique quelque part dans vos rouls udev. Ensuite, cela devrait fonctionner sans le truc de la caméra. Si vous changez de mode appareil photo, votre appareil se présente simplement avec un autre identifiant d'appareil / produit, connu par votre système.
user3387542
@ user3387542 mais comment ajouter ce type d'appareil à mon udev?
AbdelHady
sensationnel. Merci beaucoup. J'ai perdu des heures dessus. et la solution finale pour moi est de démarrer android studio en tant qu'utilisateur / root. car j'utilise centos OS
Abdul Mohsin

Réponses:

161

Ok donc j'ai finalement trouvé le problème, apparemment sur cet appareil, vous devez configurer pour vous connecter en tant que caméra (même après que le débogage USB est déjà activé)

entrez la description de l'image ici

En outre ce lien décrit le processus de mise en place

Jorch914
la source
3
Cela fait des jours que je cherche ce problème et la solution est de le connecter en tant que "Caméra", c'est tellement bizarre mais ça marche! merci pour le partage
AbdelHady
dans mon cas, il a été sélectionné par MTP et j'ai dû basculer vers PTP puis revenir sur MTP pour que cela fonctionne.
rjlopes
travaillé sur le mien aussi! je ne sais pas quelle est la raison!
bmnepali
Dans mon cas, j'ai également dû exécuter cette commande sur le terminaladb devices
Zohab Ali
57

J'ai vu cette erreur plusieurs fois lorsque adb n'a pas été connecté avec les autorisations correctes.

Sur le terminal, essayez

~/Android/Sdk/platform-tools> ./adb devices    

s'il revient

<deviceIdentifier> no permissions

alors vous devez redémarrer adb avec les bonnes perms

~/Android/Sdk/platform-tools$> ./adb kill-server
~/Android/Sdk/platform-tools$> sudo ./adb devices

si cela a fonctionné alors vous aurez

List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
<deviceIdentifier>  device

Plus de problèmes de résolution de version Sdk dans Android Studio après cela.

JoeKir
la source
1
En faisant cela, je peux voir le nom de mon appareil (sans null) juste pendant une seconde.Il affiche à nouveau null
Shruti
1
C'est la réponse la plus correcte, car l'appareil Google Pixel est nul même après le changement de type de connexion.
kostyabakay
Impressionnant! Je vous remercie.
Kirill Starostin
22

Exécutez simplement cette commande après avoir connecté votre appareil à votre système Ubuntu:

adb devices

Cela fonctionne pour moi.

Remarque: assurez-vous d'avoir sélectionné l'option de transfert de fichiers sur votre téléphone.

Rashil Shah
la source
stackoverflow.com/a/34598874/9022007 essayez ceci aussi si les appareils adb ne fonctionnent pas pour vous
Rashil Shah
ça marche pour moi. 1) périphériques adb 2) Paramètres -> Périphériques connectés -> USB -> Passer à `` Transfert de fichiers ''
amitabha2715
17

Sur Ubuntu, avec mon Pixel XL sur 8.0, je devais le faire en étant connecté à l'ordinateur:

Paramètres -> Appareils connectés -> USB -> Passer à `` Transfert de fichiers ''

RESTfulGeoffrey
la source
paramètres de quoi?
arekolek le
Paramètres du téléphone
RESTfulGeoffrey
J'ai trouvé que mon Pixel passait à null après un certain temps de connexion. J'ai continué à redémarrer l'appareil mais la même chose se produirait. Cela le corrige parfois mais seulement temporairement, bizarre ...
hmac
ça marche pour moi. 1) périphériques adb 2) Paramètres -> Périphériques connectés -> USB -> Passer à `` Transfert de fichiers ''
amitabha2715
Cela fonctionne toujours en 2019 sur le pixel 3. (Je suis venu ici pour chercher une solution permanente mais toujours pas trouvée, cette action fonctionne toujours)
Wesely
12

J'ai le même problème avec mon Nexus 5 / 5X / Pixel 2 XL sur Ubuntu 18.04.

Une solution permanente consiste à ajouter une règle udev afin que vous puissiez toujours accéder à l'appareil.

  • Trouvez votre appareil avec la commande lsusb. Cela produit par exemple pour mon Pixel 2 XL ceci:

    Bus 001 Device 003: ID 18d1:4ee7 Google Inc.
    
    # This means: BUS=001, DEVICE=003, VENDOR=18d1, PRODUCT=4ee7
    
  • Vérifiez maintenant les autorisations. Remplacez 001 et 003 par vos paramètres:

    ls -l /dev/bus/usb/001/008
    
    # Output: crw-rw-r-T 1 root root 189, 8 Nov 10 18:34 /dev/bus/usb/001/003
    # Unless you are root, you are missing the permissions to access the device
    
  • Pour résoudre ce problème, créez un fichier de règles udev sudo nano /etc/udev/rules.d/51-android.rulesavec le contenu suivant:

    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee7", MODE="0660", 
    GROUP="plugdev", SYMLINK+="android%n"
    
    # You need to replace "18d1" and "4ee7" with your output of `lsusb` above
    
  • Débranchez et rebranchez votre appareil. Il devrait désormais toujours être reconnu. Sinon, redémarrez le serveur adb une dernière fois avec adb kill-server.

Source: http://www.janosgyerik.com/adding-udev-rules-for-usb-debugging-android-devices/

hb0
la source
6

Ran dans le même problème lors de l'utilisation d'Android Studio sur Ubuntu. Apparemment, pour moi, la solution consistait à définir le mode de connexion USB de l'appareil sur MTP .

jayeshsolanki93
la source
5

Vérifiez d'abord la version adb: si elle donne une sortie comme

Android Debug Bridge version 1.0.32

Ensuite, redémarrez simplement le démon.

sudo adb kill-server
sudo adb start-server

sinon installez d'abord adb et redémarrez le démon a fonctionné pour moi, dans ubuntu 16.04.3

user6299305
la source
5

Récemment, j'étais confronté au même problème pour les téléphones Vivo et MI. J'ai essayé tout ce qui est décrit dans ce fil. J'ai essayé de me connecter en tant que MTP, PTP; Mais rien n'a fonctionné.

Après de nombreuses tentatives, j'ai trouvé une solution pour mon cas et cela peut peut-être aussi aider les autres.

  1. Ouvrir la fenêtre du terminal dans Android Studio
  2. Tuez le serveur ADB à l'aide de la commande suivante: adb kill-server
  3. Redémarrez le serveur ADB à l'aide de la commande suivante: adb start-server

Cela a résolu mon problème.

Dhaval
la source
merci a sauvé ma journée .. il montre toujours 24213213 [null] mais après votre manipulation, il montre maintenant Samsung Galaxy ...
waza123
4

La désactivation et la réactivation du débogage pendant que l'appareil était connecté ont fait l'affaire pour moi.

Drazen Bjelovuk
la source
4

J'ai eu le même problème.

Je l'ai résolu en ouvrant les paramètres de mon appareil Android, puis en sélectionnant «Désactiver» puis «Activer» pour le débogage USB.

CenyGG
la source
4

J'ai eu le même problème. J'ai résolu cela en faisant

  1. Android -> SDk -> outil de plate-forme

2.Ouvrez le terminal pour (utilisateur ubuntu) ou ouvrez cmd (utilisateur de la fenêtre)

3. tapez la commande "sudo adb kill-server"

4.Accédez au studio Android, puis reconnectez l'appareil.

DEVENDRA SINGH
la source
1

Sur ubuntu, l'installation d'adb a fonctionné pour moi, je pense qu'il y avait un problème avec le studio Android par défaut.

Dans la commande d'utilisation du terminal

sudo apt install adb 
Manohar Reddy
la source
0

Parfois, sous Linux (Centos 6 dans mon cas), la raison peut être que vous n'avez pas démarré Android Studio en tant qu'utilisateur root. veuillez redémarrer android studio en tant qu'utilisateur root et essayez-le!

Abdul Mohsin
la source
2
C'est une idée terrible. Ne démarrez jamais l'application userland en tant que root!
agilob
0

Pour ubuntu machine, sélectionnez l'option de transfert et l'appareil sera détecté dans le studio Android ainsi que pour le débogage. Généralement, l'appareil est en état de charge pour Windows, mais pour ubuntu, c'est ainsi que cela fonctionne.

De plus, souvent, l'appareil n'est pas détecté, refaites la même chose.

Prayag
la source
0

Nécessite le mode MTP, mais il ne vient pas sous le côté USB. Dans le paramètre de stockage sur l'élément de la barre de menu, vous pouvez définir le type de connexion PC comme ... MTP.

Mark Deacon
la source
0

vérifier les processus en cours d'exécution, j'avais plusieurs processus adb en cours d'exécution et je pense que cela gâchait les choses pour moi. Tuez-les tous puis redémarrez Studio. HTC Sync Manager, GenyMotion, etc. et éventuellement lorsque plusieurs fenêtres Android Studio sont ouvertes peuvent entraîner plusieurs processus adb en conflit.

hmac
la source
0

Sur Ubuntu en particulier ou sur toute autre plateforme. S'il vous plaît et s'il vous plaît vérifier votre version adb. Je ne peux pas insister assez sur cela. assurez-vous qu'il est mis à jour ou la dernière version, surtout si les réponses ci-dessus ne fonctionnent pas et que ce lien ne fonctionne pas non plus.

Après avoir mis à jour mon dossier platform-tools situé à

PATH_TO/Android/Sdk/platform-tools

qui contient également le adbil a fonctionné. L'Iran
adb devices

d'abord il montrerait non autorisé puis

vous débranchez et rebranchez l'appareil Android. Ensuite, votre téléphone demanderait la permission avant que le système ne lise votre appareil.

allumer
la source
0

Dans mon cas, le simple fait de regarder mon téléphone et de cocher la case contextuelle pour autoriser le débogage USB a fait le travail pour moi.

Leo
la source
-1

Accédez au terminal dans le studio Android et exécutez "adb devices". Il affichera les appareils connectés. Ensuite, exécutez l'application et l'appareil devrait apparaître.

VIVEK CHOUDHARY
la source