Je ne peux pas attacher le débogueur dans Android Studio lors de l'exécution du débogage sur un téléphone.
J'utilise actuellement un Samsung S4, exécutant Android 4.4.4 (mais j'ai essayé un téléphone S5, S6, S7 et Moto E sur divers Android Il arrive à expiration lorsque j'essaie de l'exécuter avec l'une des erreurs suivantes:
I/System.out: Envoi d'un bloc WAIT
W/ActivityThread: l'application attend le débogueur sur le port 8100 ...
Ou
échec de l'ouverture du port du débogueur localhost: 8600 Java.net.ConnectException "connexion refusée"
et l'application dit:
En attente du débogueur
L'application (processus) attend la connexion du débogueur.
Forcer la fermeture
Version d'Android Studio:
Android Studio 2.2.2
Build # AI-145.3360264, construit le 18 octobre 2016
JRE: 1.8.0_112-release-b05 x86_64
JVM: serveur OpenJDK 64 bits VM par JetBrains s.r.o
Version Mac:
10.11.6 (15G1004)
Je peux me connecter et exécuter l'application avec succès, je ne parviens pas à attacher le débogueur lorsque je lance Exécuter> Déboguer l'application> sélectionner le téléphone connecté> OK.
J'ai pu exécuter l'application en débogage sur d'autres ordinateurs (Windows et Mac) avec les mêmes téléphones.
Différentes approches que j'ai essayées pendant des heures de débogage et de recherche en ligne:
Invalider les caches/redémarrer Android studio
Vérifiez tout ce qui fonctionne sur les ports 8100, 8600, 8601, etc., rien ne revient lorsque j'exécute ce qui suit à partir de bash:
$ # while Android studio is trying to attach the debugger
$ lsof -i :8100
$ lsof -i :8600
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
studio 6282 peter 125u IPv4 0x973c7e31bda641ab 0t0 TCP 192.168.1.16:64022->ip-166-62-27-181.ip.secureserver.net:asterix (SYN_SENT) $ lsof -i: 8601 $ $ # après Android studio ne parvient pas à attacher le débogueur $ lsof -i: 8100 $ lsof -i: 8600 $ lsof -i: 8601 $
Exécutez Outils> Android> Android Device Monitor - il montre mon appareil, mais je ne peux pas exécuter Android Device Monitor) pendant que j'essaie de déboguer l'application, il dit: "Le moniteur sera fermé pour permettre l'intégration ADB. Continuer?" Je n'ai rien trouvé d'utile ici.
Recherche et suppression des processus adb
ps aux | egrep '(adb|Java)'
... then doing `kill <pid>` or `kill -9 <pid>` if necessary for the found ones
Redémarrez Android studio
Redémarrez mon ordinateur
Mettre à jour Java JDK à partir du site Web d'Oracle, mais je ne sais pas pourquoi Android Studio dit toujours: "JVM: OpenJDK 64-Bit Server VM par JetBrains sro ”
Désinstallez et réinstallez complètement Android studio - par exemple, https://stackoverflow.com/a/18458893/376489 - bizarrement, je pense que cela a fonctionné pour une exécution du débogueur et puis pas encore…
Testé> Attacher le débogueur à Android - cela n'a pas aidé
Essayé de courir:
~/Library/Android/sdk/platform-tools/adb kill-server &&
~/Library/Android/sdk/platform-tools/adb start-server
J'ai essayé de décocher Run> Edit Configurations> Run/Debug Configurations> Skip installation if APK has not changed
Vérifiez les Préférences Système> Sécurité Confidentialité> Pare-feu - ceci est désactivé
Mise à jour 1: a tenté de révoquer les autorisations sur le téléphone ainsi que de le redémarrer
Mise à jour 1: mise en sourdine de tous les points d'arrêt Android Studio
Y a-t-il d'autres idées sur ce qui pourrait mal tourner ou quelque chose de significatif dans les détails que j'ai ajoutés ci-dessus?
Assez embarrassant, mais il semble qu'il y a quelque temps, j'avais entré une adresse IP dans mon fichier/etc/hosts pour tester quelque chose comme localhost
et je ne l'ai jamais supprimée. J'ai trouvé un commentaire sur un autre post disant de vérifier que ce qui suit se trouve dans votre/etc/hosts:
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
Après avoir commenté cette ligne parasite, le débogueur fonctionne maintenant. Étant donné que j'ai une douzaine d'autres adresses IP dans ce fichier (afin que je puisse plus facilement tester les hôtes distants avec un nom convivial), je ne dois pas avoir remarqué celui-ci en bas. Je pense qu'une approche plus infaillible pour vérifier si c'est le problème ou non consiste à envoyer un ping à localhost et à vérifier qu'il résout l'adresse IP de 127.0.0.1, par exemple,
$ ping localhost
PING localhost (127.0.0.1): 56 data bytes
Grands commentaires et suggestions d'autres personnes ici aussi, merci!
Je viens de rencontrer le même problème. Il semble, comme si Android Studio Version 2.2 a quelques problèmes avec un débogueur non attaché comme vous pouvez le voir par exemple ici et ici .
Dans mon cas, les éléments suivants ont aidé:
J'espère que cela vous aidera aussi.
J'ai aussi eu la même erreur et cette chose a fonctionné pour moi
1. Open Android Studio -> Terminal
2. Change directory to $Android SDK Path$\platform-tools
3. Write command adb get-state and hit enter.
Ensuite, vous obtiendrez cette sortie
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
Projet de nettoyage 1.try Build-> projet propre
2.do file-> Invalidate/cache restart if above not help you ..
3. essayez de changer le câble de données que vous utilisez pour connecter votre téléphone.
si rien ci-dessus ne vous aide, installez Android plugin wifi ADB et essayez de déboguer via wifi.
Prise en charge d'une véritable version de débogage . Les développeurs n'ont plus besoin d'ajouter l'attribut Android: debuggable à la balise dans le manifeste - les outils de construction ajoutent automatiquement l'attribut. Dans Eclipse/ADT, toutes les versions incrémentielles sont supposées être des versions de débogage, donc les outils insèrent Android: debuggable = "true". Lors de l'exportation d'une version de version signée, les outils n'ajoutent pas l'attribut. Dans Ant, une commande ant debug insère automatiquement l'attribut Android: debuggable = "true", contrairement à ant release. Si Android: debuggable = "true" est défini manuellement, la version ant fera en fait une version de débogage, plutôt qu'une version.
Dans mon cas, j'ai eu du mal à résoudre ce problème avec 5 heures et j'ai constaté que le
minifyEnabled true
est le principal coupable alors changez minifyEnabled false
travaille pour moi
Mon fichier build.gradle d'application ressemble à
buildTypes {
debug {
signingConfig signingConfigs.debug
minifyEnabled false
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
J'utilise un vrai appareil. Supprimez simplement l'application sur l'appareil, puis exécutez à partir de Android Studio a résolu ce problème.
Il semble Android Studio a eu du mal à remplacer le fichier qui était déjà sur le téléphone.
J'ai le problème opposé avec Android Studio 3.3, en essayant de déboguer un téléphone connecté au Wi-Fi.
Après avoir sélectionné l'appareil dans Android Studio, je reçois le message suivant:
Erreur lors de l'exécution de "app": impossible d'ouvrir le port du débogueur (hôte local: 8600): Java.net.ConnectException "Connexion refusée: connexion"
J'ai également activé IPV-6 sur mon réseau.
Le problème est que "localhost" se résout à :: 1 sur ma machine par défaut, mais ADB se lie explicitement à 127.0.0.1. Il se trouve que je le sais parce que j'ai passé la journée à essayer de connecter ADB à des émulateurs fonctionnant sur une machine distante (pas depuis Android 4.4 malheureusement.
Pour résoudre le problème, ajoutez la ligne suivante à\windows\system32\drivers\etc\hosts:
127.0.0.1 localhost
Tout simplement ne pas utiliser mon google pixel 1st gen et utiliser mon nouveau Nokia 7 plus résolu ce problème :).
Essayez d'utiliser les commandes ci-dessous sur le terminal-
adb kill-server
adb start-server
Ça marche bien.