135 votes

Une connexion établie a été interrompue par le logiciel de votre machine hôte.

\[2011-04-11 13:27:36 - ddmlib\]An established connection was aborted by the software in your host machine
java.io.IOException: An established connection was aborted by the software in your host machine
    at sun.nio.ch.SocketDispatcher.write0(Native Method)
    at sun.nio.ch.SocketDispatcher.write(Unknown Source)
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source)
    at sun.nio.ch.IOUtil.write(Unknown Source)
    at sun.nio.ch.SocketChannelImpl.write(Unknown Source)
    at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213)
    at com.android.ddmlib.Client.sendAndConsume(Client.java:573)
    at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:349)
    at com.android.ddmlib.Client.requestAllocationStatus(Client.java:419)
    at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:840)
    at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:808)
    at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:767)
    at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:635)
    at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:42)
    at com.android.ddmlib.DeviceMonitor$3.run(DeviceMonitor.java:563)

122voto

kamal_tech_view Points 2222

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

8 votes

Ça ne marche pas pour moi. Je dois effectuer un redémarrage complet de mon ordinateur lorsque cela se produit (ce qui est fréquent !).

13 votes

@Nate si vous redémarrez également adb (adb kill-server/adb start-server), cela vous évite-t-il de redémarrer l'ordinateur ?

3 votes

Merci beaucoup, Bjorn. J'avais effectivement trouvé un autre lien, et sur ses conseils, j'ai écrit moi-même un .bat script qui fait "adb disconnect" et ensuite "adb kill-server". Cela règle le problème sans redémarrage. Merci encore pour le suivi !

69voto

Balaji Khadake Points 1778

Vérifiez qu'il y a peut-être deux instances d'Eclipse qui pointent vers le même Android SDK... gardez une instance d'Eclipse et réessayez... c'est pourquoi vous obtenez l'exception "la connexion établie a été interrompue par le logiciel de votre machine hôte"... allez dans les détails d'Android adb (Android Debug Bridge) vous l'obtiendrez...

11 votes

Mon problème était de faire tourner 2 instances d'eclipse !

8 votes

Ou alternativement, Android Studio et Eclipse :)

19voto

steve-gregory Points 1940

Je recevais également 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 des processus du Gestionnaire des tâches et j'ai trouvé une copie malveillante de 'eclipse.exe *32' que l'interface utilisateur ne montrait pas comme étant en cours d'exécution. Je suppose que cela aurait dû être évident puisque l'erreur suggère que la raison pour laquelle l'émulateur/le téléphone ne peut pas se connecter est qu'il a déjà établi une connexion avec la deuxième copie.

En bref, vérifiez via le gestionnaire des tâches qu'aucune autre instance d'Eclipse n'est en cours d'exécution avant de redémarrer le PC !

1 votes

Vérifiez également qu'il n'y a pas de restes de processus d'émulation.

10voto

Quinma Points 492

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

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

6voto

Abhi Points 1226

J'ai eu le problème avec plusieurs IDE. Fermer Eclipse, tuer le gestionnaire de tâches ou redémarrer n'a pas aidé. J'ai juste supprimé l'AVD et l'ai recréé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X