web-dev-qa-db-fra.com

Impossible de joindre le débogueur dans Android Studio - localhost: 8600 Java.net.ConnectException

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:

  1. Invalider les caches/redémarrer Android studio

  2. 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 $

  3. 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.

  4. 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
    
  5. Redémarrez Android studio

  6. Redémarrez mon ordinateur

  7. 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 ”

  8. 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…

  9. Testé> Attacher le débogueur à Android - cela n'a pas aidé

  10. Essayé de courir:

    ~/Library/Android/sdk/platform-tools/adb kill-server &&
     ~/Library/Android/sdk/platform-tools/adb start-server
    
  11. J'ai essayé de décocher Run> Edit Configurations> Run/Debug Configurations> Skip installation if APK has not changed

  12. Vérifiez les Préférences Système> Sécurité Confidentialité> Pare-feu - ceci est désactivé

  13. Mise à jour 1: a tenté de révoquer les autorisations sur le téléphone ainsi que de le redémarrer

  14. 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?

22
MrColes

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!

23
MrColes

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é:

  • Supprimez le profil de lancement de votre application en accédant à Exécuter -> Modifier les configurations ... et en supprimant le profil. N'oubliez pas d'appuyer sur le bouton OK après avoir supprimé le profil. :)
  • Créez un nouveau profil de lancement à partir de zéro en allant à nouveau dans Exécuter -> Modifier les configurations ..., en appuyant sur le bouton +, en sélectionnant un Android profil de lancement d'application et en sélectionnant votre module de démarrage. Les autres valeurs par défaut du profil était très bien.

J'espère que cela vous aidera aussi.

7
Nantoka

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 *
2
Shubham

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.

2
Rajesh.k

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'
        }

    }
2
sushant gosavi

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.

1
Balazs F.

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

1
Robin Davies

Tout simplement ne pas utiliser mon google pixel 1st gen et utiliser mon nouveau Nokia 7 plus résolu ce problème :).

0
RelativeGames

Essayez d'utiliser les commandes ci-dessous sur le terminal-

  1. adb kill-server

  2. adb start-server

Ça marche bien.

0
Vishakha Tyagi