Une connexion établie a été abandonnée par le logiciel de votre machine hôte

132
[2011-04-11 13:27:36 - ddmlib] Une connexion établie a été abandonnée par le logiciel de votre machine hôte
java.io.IOException: une connexion établie a été abandonnée par le logiciel de votre machine hôte
    sur sun.nio.ch.SocketDispatcher.write0 (méthode native)
    à sun.nio.ch.SocketDispatcher.write (source inconnue)
    à sun.nio.ch.IOUtil.writeFromNativeBuffer (source inconnue)
    à sun.nio.ch.IOUtil.write (source inconnue)
    à sun.nio.ch.SocketChannelImpl.write (source inconnue)
    à com.android.ddmlib.JdwpPacket.writeAndConsume (JdwpPacket.java:213)
    à com.android.ddmlib.Client.sendAndConsume (Client.java:573)
    à com.android.ddmlib.HandleHeap.sendREAQ (HandleHeap.java:349)
    à com.android.ddmlib.Client.requestAllocationStatus (Client.java:419)
    à com.android.ddmlib.DeviceMonitor.createClient (DeviceMonitor.java:840)
    à com.android.ddmlib.DeviceMonitor.openClient (DeviceMonitor.java:808)
    à com.android.ddmlib.DeviceMonitor.processIncomingJdwpData (DeviceMonitor.java:767)
    à com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop (DeviceMonitor.java:635)
    à com.android.ddmlib.DeviceMonitor.access 100 $ (DeviceMonitor.java:42)
    à com.android.ddmlib.DeviceMonitor $ 3.run (DeviceMonitor.java:563)
kamal_tech_view
la source
1
Merci Nishant au fait
qu'une
1
@Nishant, ce lien me mène juste à une page avec des liens comme «où s'envoyer en l'air». Je pense que le contenu a été déplacé. Pouvez-vous publier le nouveau lien?
msknapp
regardez les propriétés> Java Build Path, pourrait être à la recherche d'une bibliothèque manquante
Benny

Réponses:

121

Ce problème peut être simplement résolu en fermant Eclipse et en le redémarrant. Eclipse échoue parfois à établir une connexion avec l'émulateur, ce qui peut arriver dans certains cas.

kamal_tech_view
la source
8
Ça ne marche pas pour moi. Je dois redémarrer complètement mon ordinateur lorsque cela se produit (ce qui est souvent le cas!)
Nate
13
@Nate si vous redémarrez adb également (adb kill-server / adb start-server), cela vous évite-t-il de redémarrer l'ordinateur?
Björn
3
Merci beaucoup, Bjorn. J'avais en effet trouvé un autre lien, et sur ses conseils, je m'écrivais un script .bat qui fait "adb disconnect" puis "adb kill-server". Cela résout le problème sans redémarrage. Merci encore pour le suivi!
Nate
6
Même problème. J'avais JetBrains IDEA en cours d'exécution. La clôture IDEA a aidé.
Nash
6
Non seulement éclipse, mais le studio Android semble aussi être comme ça
Steve
69

Checkout, il se peut que deux instances d'Eclipse pointent vers le même SDK Android ... gardez simplement une instance d'Eclipse et réessayez ... c'est pourquoi vous obtenez une exception car "la connexion établie a été annulée par le logiciel de votre machine hôte". .. aller dans les détails d'Android adb (Android Debug Bridge) vous l'obtiendrez ...

Balaji Khadake
la source
2
Ces problèmes peuvent être simplement résolus en fermant l'Eclipse et en le redémarrant à nouveau ... Parce que l'Eclipse est tombé pour établir une connexion avec Emulator, cela se produit dans certains cas ...
kamal_tech_view
11
Mon problème était 2 instances d'éclipse en cours d'exécution!
Matt
8
Ou encore, Android Studio et Eclipse. :)
Oleg Vaskevich
19

J'avais aussi ces erreurs et j'étais perplexe. Après avoir lu et essayé les deux réponses ci-dessus, j'obtenais toujours l'erreur.

Cependant, j'ai vérifié l'onglet Processus du Gestionnaire des tâches pour trouver une copie non conforme de «eclipse.exe * 32» que l'interface utilisateur n'a pas montré comme en cours d'exécution. Je suppose que cela aurait dû être évident car l'erreur suggère que la raison pour laquelle l'émulateur / le téléphone ne peut pas se connecter est parce qu'il a déjà établi une connexion avec la deuxième copie.

En bref, assurez-vous via le Gestionnaire de tâches qu'aucune autre instance Eclipse n'est en cours d'exécution avant de recourir à un redémarrage du PC!

steve-grégory
la source
1
Vérifiez également qu'il n'y a pas de restes de processus d'émulateur
Michael
10

Si vous développez dans plusieurs IDE ou d'autres programmes qui se connectent à AVD, vous devriez également essayer de les fermer.

Netbeans peut également provoquer des conflits avec eclipse si vous le configurez pour NBAndroid.

Quinma
la source
6

J'ai eu le problème avec plusieurs IDE. Fermer Eclipse, tuer du gestionnaire de tâches ou redémarrer n'a pas aidé. Je viens de supprimer l'AVD et de le créer à nouveau.

Abhi
la source
6

SOLUTION :-

  1. J'obtenais la même erreur en ouvrant deux fenêtres d'éclipse, alors je ferme une fenêtre d'éclipse et lance à nouveau l'application. Vous n'obtiendrez pas l'erreur.

  2. redémarrez (fermez et redémarrez) l'éclipse si vous n'avez ouvert qu'une seule fenêtre d'éclipse.

Nikhil Kumar
la source
Comment exécuter deux instances eclipse ..?
Chaitanya
1
Il vous suffit de démarrer deux espaces de travail différents à partir de la même icône d'éclipse, cela vous donnera deux instances d'éclipse.
Nikhil Kumar
3

Ce problème peut se produire si vous avez deux périphériques connectés à l'ordinateur en même temps. Adb ne prend pas en charge l'accès aux deux appareils via la commande / la console. Donc, si vous déboguez votre application après avoir connecté et déconnecté le deuxième appareil, vous aurez très probablement ce problème. Une solution pourrait être de redémarrer adb et / ou eclipse si nécessaire. Cela peut parfois être assez ennuyeux et je crains qu'il n'y ait pas d'autre solution à cela.

misterbaykal
la source
3

Ce problème peut également se produire lorsque vous ouvrez simultanément Android Studio et Eclipse. Essayez de fermer l'un d'entre eux et cela pourrait résoudre votre problème.

JR Tan
la source
2

Dans mon cas, j'utilisais Android Studio et Eclipse à la fois. AS et Eclipse essayaient de communiquer un périphérique / émulateur via adb .

Solution: j'ai fermé Android Studio. Puis j'ai redémarré Eclipse.

J'espère que cela vous aidera :)

zackygaurav
la source
1

Fermez l'émulateur s'il est déjà ouvert. Faites un clic droit sur votre projet -> Exécuter en tant que -> Exécuter les configurations -> Exécuter. Après le lancement de l'émulateur: Faites un clic droit sur votre projet -> Exécuter en tant que -> projet Android.

user1207965
la source
1

J'ai rencontré ce problème sur ma machine de développement Windows 7 64 bits lors de l'exécution d'Android Studio 2.1.x et d'Android Studio 2.2.x côte à côte.

J'avais déployé une application via l'instance 2.2.x la veille et j'avais laissé cet IDE en marche. Le jour suivant, j'ai déployé une application différente de l'EDI 2.1.x et c'est à ce moment que j'ai rencontré le problème.

L'arrêt des deux IDE, puis le redémarrage de l'EDI 2.1.x ont résolu le problème pour moi.

Thomas Sunderland
la source
0

Le redémarrage de l'éclipse résoudra le problème et tuera le "adb disconnect" puis "adb kill-server"

Abhinai
la source
0

Sur une boîte Windows, je voulais éviter le redémarrage et ceux-ci ne fonctionnaient pas: * / android / adt-bundle-windows / sdk / platform-tools / adb kill-server * / android / adt-bundle-windows / sdk / platform- outils / serveur de démarrage adb

Alors, qu'est-ce qui a fonctionné pour relancer adb sans cette erreur?

  1. attendez la fin du TEMPS D'ATTENTE, ce qui a pris plusieurs minutes. Vous pouvez afficher l'état des ports et voir quand redémarrer le débogueur avec cette commande: "PortQryV2 / PortQry.exe -local" Cet outil est téléchargé ici: http://support.microsoft.com/?id=832919

  2. forcer la fermeture des ports avec "netsh int tcp reset"

James Y
la source
0

La seule chose qui a fonctionné pour moi (sous Windows) était de rouvrir l'IDE en tant qu'administrateur. Tout a bien fonctionné après cela.

Madly iconique
la source
0

J'ai résolu ce problème en fermant Eclipse et en le redémarrant à nouveau. Eclipse échoue parfois à établir une connexion avec l'émulateur / l'appareil, ce qui peut arriver parfois.

Nikhil Kumar
la source
0

En exécutant Eclipse Luna et en utilisant l'application WifiADB sur mon téléphone, j'ai commencé à recevoir cette erreur lors de l'exécution de mon application à partir d'Eclipse. Curieusement, à Indigo (j'ai installé Luna la nuit dernière) cela fonctionnait bien.

Le problème pour moi était que le téléphone était connecté au PC pour le charger, et même lors de l'exécution d'un script .bat pour tuer ADB, il semblait qu'une deuxième instance avait été démarrée lors de l'exécution. Brancher le téléphone sur le moniteur pour le charger lors du débogage via wifi l'a résolu. Je dois parfois déboguer sur le wifi pour tester mon application en arrêt / démarrage lors d'un changement d'état d'alimentation.

Bien sûr, il est raisonnable de supposer (très probablement) que je n'ai tout simplement pas configuré Luna de la même manière.

Monsieur Chops
la source
-2

J'avais ce problème. Les choses que j'ai essayées:

  1. Redémarrez Eclipse
  2. Redémarrez Eclipse & Kill adb comme mentionné ici.
  3. Redémarrez la machine et ouvrez Eclipse

C'est ce qui a fonctionné pour moi

  1. Éteint (prise débranchée) mon appareil Android, redémarrer la machine, allumer l'appareil Android.

J'espère que cela aide quelqu'un!

Jason Portnoy
la source
-2

suivez ces deux étapes 1) adb kill-server 2) adb start-server

c'est du travail pour moi

Chetan Patel
la source
-2
  1. Fermer Eclipse
  2. Ouvrez le Gestionnaire des tâches et tuez adb.exe
  3. Démarrez Eclipse Cela devrait fonctionner.
Décodeur
la source