Ustanowione połączenie zostało przerwane przez oprogramowanie na komputerze głównym

134
[2011-04-11 13:27:36 - ddmlib] Ustanowione połączenie zostało przerwane przez oprogramowanie na komputerze głównym
java.io.IOException: ustanowione połączenie zostało przerwane przez oprogramowanie na komputerze głównym
    at sun.nio.ch.SocketDispatcher.write0 (metoda macierzysta)
    na sun.nio.ch.SocketDispatcher.write (nieznane źródło)
    at sun.nio.ch.IOUtil.writeFromNativeBuffer (nieznane źródło)
    na sun.nio.ch.IOUtil.write (nieznane źródło)
    na sun.nio.ch.SocketChannelImpl.write (nieznane źródło)
    w com.android.ddmlib.JdwpPacket.writeAndConsume (JdwpPacket.java:213)
    w com.android.ddmlib.Client.sendAndConsume (Client.java:573)
    w com.android.ddmlib.HandleHeap.sendREAQ (HandleHeap.java:349)
    at com.android.ddmlib.Client.requestAllocationStatus (Client.java:419)
    w com.android.ddmlib.DeviceMonitor.createClient (DeviceMonitor.java:840)
    w com.android.ddmlib.DeviceMonitor.openClient (DeviceMonitor.java:808)
    w com.android.ddmlib.DeviceMonitor.processIncomingJdwpData (DeviceMonitor.java:767)
    w com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop (DeviceMonitor.java:635)
    w com.android.ddmlib.DeviceMonitor.access 100 USD (DeviceMonitor.java:42)
    w com.android.ddmlib.DeviceMonitor $ 3.run (DeviceMonitor.java:563)
kamal_tech_view
źródło
1
Dzięki Nishant, nawiasem mówiąc, podobna odpowiedź jest wymieniona tutaj ...
kamal_tech_view
1
@Nishant, ten link po prostu prowadzi mnie do strony z linkami typu „gdzie się położyć”. Myślę, że zawartość została przeniesiona. Czy możesz opublikować nowy link?
msknapp
spójrz na właściwości> Ścieżka budowania Java, może szukać brakującej biblioteki
Benny

Odpowiedzi:

122

Ten problem można po prostu rozwiązać, zamykając Eclipse i uruchamiając go ponownie. Czasami Eclipse nie nawiązuje połączenia z Emulatorem, więc może się to zdarzyć w niektórych przypadkach.

kamal_tech_view
źródło
8
Nie działa na mnie. Muszę wykonać pełne ponowne uruchomienie komputera, gdy tak się stanie (co zdarza się często!)
Nate,
13
@Nate, jeśli zrestartujesz również adb (adb kill-server / adb start-server), czy to uchroni cię przed ponownym uruchomieniem komputera?
Björn,
3
Wielkie dzięki, Bjorn. Rzeczywiście znalazłem inny link i zgodnie z jego radą napisałem sobie skrypt .bat, który wykonuje „odłączenie adb”, a następnie „serwer zabijania adb”. To rozwiązuje problem bez ponownego uruchamiania. Jeszcze raz dziękujemy za kontynuację!
Nate,
6
Taki sam problem. Miałem uruchomiony JetBrains IDEA. Pomogło zamknięcie IDEA.
Nash,
6
Wydaje się, że nie tylko zaćmienie, studio Android też takie wygląda
Steve,
69

Do kasy mogą być dwa wystąpienia Eclipse wskazujące na ten sam Android SDK ... po prostu zachowaj jedno wystąpienie Eclipse i spróbuj ponownie ... dlatego otrzymujesz wyjątek, ponieważ „ustanowione połączenie zostało przerwane przez oprogramowanie na twoim komputerze głównym”. .. przejdź do szczegółów android adb (Android Debug Bridge) dostaniesz to ...

Balaji Khadake
źródło
2
Ten problem można po prostu rozwiązać, zamykając Eclipse i uruchamiając go ponownie ... Ponieważ Eclipse spadł, aby nawiązać połączenie z Emulatorem, zdarza się to w niektórych przypadkach ...
kamal_tech_view
11
Moim problemem były 2 uruchomione instancje zaćmień!
Matt
8
Lub alternatywnie Android Studio i Eclipse. :)
Oleg Vaskevich
19

Też otrzymywałem te błędy i byłem zaskoczony. Po przeczytaniu i wypróbowaniu dwóch powyższych odpowiedzi nadal otrzymywałem błąd.

Jednak sprawdziłem kartę Procesy Menedżera zadań, aby znaleźć fałszywą kopię „eclipse.exe * 32”, której interfejs użytkownika nie pokazał jako uruchomiony. Wydaje mi się, że powinno to być oczywiste, ponieważ błąd sugeruje, że powodem, dla którego emulator / telefon nie może się połączyć, jest to, że nawiązał już połączenie z drugą kopią.

Krótko mówiąc, przed ponownym uruchomieniem komputera upewnij się za pośrednictwem Menedżera zadań, że żadne inne instancje Eclipse nie są uruchomione!

steve-gregory
źródło
1
Sprawdź również, czy nie ma żadnych pozostałości procesu emulatora
Michael
10

Jeśli tworzysz w wielu IDE lub innych programach, które łączą się z AVD, powinieneś spróbować je zamknąć.

Netbeans może również powodować konflikty z eclipse, jeśli skonfigurujesz go dla NBAndroid.

Quinma
źródło
6

Miałem problem z wieloma IDE. Zamknięcie Eclipse, zabicie z menedżera zadań lub ponowne uruchomienie nie pomogło. Po prostu usunąłem AVD i utworzyłem go ponownie.

Abhi
źródło
6

ROZWIĄZANIE :-

  1. Otrzymywałem ten sam błąd, co przy otwieraniu dwóch okien zaćmień, więc zamykam jedno okno zaćmienia i ponownie uruchamiam aplikację. Nie otrzymasz błędu.

  2. zrestartuj (zamknij i uruchom) ponownie zaćmienie, jeśli masz otwarte tylko jedno okno zaćmienia.

Nikhil Kumar
źródło
Jak uruchomić dwie instancje zaćmienia ..?
Chaitanya
1
Po prostu uruchom dwa różne obszary robocze od tej samej ikony zaćmienia, a otrzymasz dwa wystąpienia zaćmienia.
Nikhil Kumar,
3

Ten problem może wystąpić, jeśli do komputera są podłączone jednocześnie dwa urządzenia. Adb nie obsługuje dostępu do obu urządzeń za pomocą polecenia / konsoli. Jeśli więc debugujesz aplikację po podłączeniu i odłączeniu drugiego urządzenia, najprawdopodobniej wystąpi ten problem. Jednym z rozwiązań może być ponowne uruchomienie adb i / lub eclipse, jeśli to konieczne. Czasami może to być dość denerwujące i obawiam się, że nie ma na to innego rozwiązania.

misterbaykal
źródło
3

Ten problem może również wystąpić podczas jednoczesnego otwierania Android Studio i Eclipse. Spróbuj zamknąć jeden z nich, a może to rozwiązać Twój problem.

JR Tan
źródło
2

W moim przypadku używałem jednocześnie Android Studio i Eclipse . AS i Eclipse próbowały komunikować się z urządzeniem / emulatorem przez adb .

Rozwiązanie: zamknąłem Android Studio. Następnie ponownie uruchomiłem Eclipse.

Mam nadzieję, że to ci pomoże :)

zackygaurav
źródło
1

Zamknij emulator, jeśli jest już otwarty. Kliknij prawym przyciskiem myszy swój projekt -> Uruchom jako -> uruchom konfiguracje -> Uruchom. Po uruchomieniu emulatora: Kliknij prawym przyciskiem myszy swój projekt -> Uruchom jako -> projekt androida.

user1207965
źródło
1

Napotkałem ten problem na mojej 64-bitowej maszynie programistycznej z systemem Windows 7, gdy korzystałem z Android Studio 2.1.xi Android Studio 2.2.x.

Wdrożyłem aplikację za pośrednictwem instancji 2.2.x poprzedniego dnia i pozostawiłem to IDE działające. Następnego dnia wdrożyłem inną aplikację niż IDE 2.1.x i wtedy napotkałem problem.

Zamknięcie obu IDE, a następnie ponowne uruchomienie IDE 2.1.x rozwiązało problem.

Thomas Sunderland
źródło
0

Ponowne uruchomienie eclipse rozwiąże problem i zabije „odłączenie adb”, a następnie „serwer zabijania adb”

Abhinai
źródło
0

Na komputerze z systemem Windows chciałem uniknąć ponownego uruchomienia, ale te nie działały: * / android / adt-bundle-windows / sdk / platform-tools / adb kill-server * / android / adt-bundle-windows / sdk / platform- narzędzia / adb start-server

Więc co zadziałało, aby ponownie uruchomić adb bez tego błędu, to

  1. poczekaj na zakończenie CZASU OCZEKIWANIA, co zajęło kilka minut. Możesz wyświetlić stan portów i obserwować, kiedy należy ponownie uruchomić debugger za pomocą tego polecenia: „PortQryV2 / PortQry.exe -local” To narzędzie jest do pobrania tutaj: http://support.microsoft.com/?id=832919

  2. wymuś zamknięcie portów za pomocą „netsh int tcp reset”

James Y
źródło
0

Jedyną rzeczą, która działała dla mnie (pod Windows), było ponowne otwarcie IDE jako administrator. Potem wszystko działało gładko.

Madly Iconic
źródło
0

Rozwiązałem ten problem, zamykając Eclipse i ponownie go uruchamiając. Czasami Eclipse nie nawiązuje połączenia z Emulatorem / urządzeniem, więc czasami może się to zdarzyć.

Nikhil Kumar
źródło
0

Uruchamiam Eclipse Luna i używam aplikacji WifiADB na moim telefonie. Zacząłem otrzymywać ten błąd podczas uruchamiania aplikacji z Eclipse. Co dziwne, w Indigo (wczoraj zainstalowałem Luna) działało dobrze.

Problem polegał na tym, że miałem telefon podłączony do komputera, aby go naładować, a nawet po uruchomieniu skryptu .bat w celu zabicia ADB wydawało się, że druga instancja została uruchomiona po uruchomieniu. Podłączenie telefonu do monitora w celu ładowania podczas debugowania przez Wi-Fi rozwiązało problem. Czasami muszę debugować sieć Wi-Fi, aby przetestować zatrzymywanie / uruchamianie aplikacji po zmianie stanu zasilania.

Oczywiście rozsądnie jest założyć (bardzo prawdopodobne), że po prostu nie ustawiłem Luny tak samo.

Panie Chops
źródło
0

Ten problem pojawia się, jeśli dwa programy używają tego samego portu,
ogólnie Android Studio użyj portu 5037
spróbuj zamknąć port przez cmd zgodnie z systemem operacyjnym,
a następnie uruchom ponownie studio Android lub Eclipse

yacine
źródło
-2

Miałem ten problem. Rzeczy, które próbowałem:

  1. Uruchom ponownie Eclipse
  2. Zrestartuj Eclipse & Kill adb, jak wspomniano tutaj.
  3. Uruchom ponownie komputer i otwórz Eclipse

To właśnie zadziałało dla mnie

  1. Wyłączono (wyciągnięto wtyczkę) moje urządzenie z Androidem, uruchom ponownie urządzenie, włącz urządzenie z systemem Android.

Mam nadzieję, że to komuś pomoże!

Jason Portnoy
źródło
-2

wykonaj te dwa kroki 1) adb kill-server 2) adb start-server

to jest praca dla mnie

Chetan Patel
źródło
-2
  1. Zamknij Eclipse
  2. Otwórz Menedżera zadań i zabij adb.exe
  3. Uruchom Eclipse Powinno działać.
Dekoder
źródło