Adb na Androida „Nie można otworzyć połączenia synchronizacji!”


168

W większości przypadków mogę dobrze uruchomić i debugować moją aplikację na Androida na moim telefonie. Następnie, pozornie losowo, kiedy próbuję uruchomić lub debugować moją aplikację z Eclipse, Konsola w Eclipse mówi:

[2010-10-12 09:36:48 - myapp] Android Launch!
[2010-10-12 09:36:48 - myapp] adb is running normally.
[2010-10-12 09:36:48 - myapp] Performing com.mycompany.myapp.MyActivity activity launch
[2010-10-12 09:36:48 - myapp] Automatic Target Mode: using device 'HT01TP800561'
[2010-10-12 09:36:48 - myapp] Uploading myapp.apk onto device 'HT01TP800561'
[2010-10-12 09:36:48 - myapp] Failed to upload myapp.apk on device 'HT01TP800561'
[2010-10-12 09:36:48 - myapp] java.io.IOException: Unable to open sync connection!
[2010-10-12 09:36:48 - myapp] Launch canceled!
  • Ponów: nie pomaga, te same wiadomości.
  • Uruchom ponownie Eclipse: nie pomaga.
  • Uruchom ponownie adb ( adb kill-server && adb start-server): bez błędów, nie pomaga.
  • Ponownie podłącz telefon: czasami pomaga.
  • Uruchom ponownie komputer: trochę drastyczne, jeszcze tego nie próbowałem.

Używa Ubuntu 10.4, Eclipse Galileo 3.5.2, Android SDK 7, wtyczki ADT 0.9.6, Nexus One, Android 2.2.1.

Jakieś świetne pomysły?


2
Ten sam problem na Nexus One. To straszny i desperacki problem, testowanie w emulatorze jest tak powolne ... Dziwne jest to, że tylko ja mam ten problem, a 5 programistów korzysta z tego samego telefonu. Używam systemu Windows i zdarzyło się to również w poprzednich wersjach
SDK

2
To samo tutaj. Czasami naprawia to cykliczne „Zezwalaj na połączenia debugowania”, czasami pociągnięcie kabla USB rozwiązuje problem, czasami NIC nie naprawia tego do jutra (zakładam, że można to wyjaśnić działaniem grawitacji księżyca). Próbowałem przejść z koncentratora USB do bezpośredniego portu, ale to nie miało wpływu. Użytkownik Vista x64 tutaj.
Skylar Sutton

1
(Zakładam, że można to wytłumaczyć grawitacyjnym wpływem Księżyca) brzmi to interesująco. Zauważyłem kumulację tego efektu w czwartki z nowiu.
koala

Ktoś powinien chronić to pytanie. Zaczyna otrzymywać wiele zduplikowanych odpowiedzi i komentarzy „ja też”.
Magakahn

to załatwiło sprawę. Zastanawiałem się, czy kabel USB zawodzi. w pierwszym roku rozwoju pojawiają się wszystkie dziwne rzeczy, które idą źle, a także badanie i zapamiętywanie poprawek.
Androidcoder,

Odpowiedzi:


416

Miałem dokładnie ten sam problem, ale miałem już telefon podłączony do portu USB komputera. Czasami odłączanie i ponowne podłączanie przewodu działało, ale potem całkowicie przestało działać. Jednak wyłączenie debugowania USB w telefonie, a następnie ponowne włączenie go do tej pory działało. Mam nadzieję, że nadal działa! Te poprawki naprawdę wyglądają jak głupie hacki ... Nie jestem pewien, na czym polega problem.


1
Na szczęście mam ten problem nawet raz dziennie i proste ponowne podłączenie kabla USB działa dobrze, zawsze ...
WarrenFaith

Miałem to, a odłączenie / ponowne podłączenie kabla zwykle działało, ale dziś wymagało włączenia / wyłączenia `` dostrojenia '' USB do procesu. Nie jestem pewien, czy to tylko przesąd, a opóźnienie w nawigacji tam, aby włączyć / wyłączyć opcję debugowania, robi sztuczkę. W każdym razie dziękuję za ten post, ponieważ wbijał mnie w ścianę!
sradforth,

6
Widząc ten sam problem. Odłączenie / podłączenie nie rozwiązuje tego problemu. Przełączanie debugowania USB (bez podłączania / odłączania) ROZWIĄZUJE problem za mnie. Czy ktoś ma do tego widżet?
James Moore,

1
Poważnie, dlaczego Android jest zawsze taki wadliwy !?
Pacerier,

1
Dzięki za rozwiązanie, kolego. Szczerze mówiąc, samo programowanie na Androida wydaje mi się serią głupich hacków. Wiele rzeczy nie działa zgodnie z intuicją - i często uważam, że konieczne są nieudokumentowane funkcje lub jakiś inny chwyt rozwiązuje to.
KalEl

25

Udało mi się to wyczyścić tylko przez przełączenie opcji debugowania USB w telefonie.


11
Ustawienia -> Aplikacje -> Rozwój -> Debugowanie USB
Thunder Rabbit

1
Czym to się różni od zaakceptowanej odpowiedzi? Masz na myśli również przełączanie
Mr_and_Mrs_D

Różni się od głównego połączenia, ponieważ niektóre porty urządzenia nie działają poprawnie, niektóre porty wyłączają albo twój tryb debugowania jest włączony, więc musisz wyłączyć Debugger, a następnie ponownie włączyć z urządzenia ..........
Amitsharma

3

Może to być również związane z problemem „zbyt wielu otwartych plików”. Próbowałem ręcznie zainstalować aplikację po wyświetleniu powyższego błędu „synchronizacji” i wtedy otrzymałem wskazówkę „zbyt wiele otwartych plików”. jednym brutalnym obejściem, opartym na niektórych starych postach , wydaje się być ponowne uruchomienie telefonu, a jeden inżynier Google zasugerował zrobienie tego dwukrotnie, za drugim razem, zanim przejdzie on w tryb uśpienia po raz pierwszy (szczegóły o tym, dlaczego w poście).

To było kilka lat temu i być może naprawili to lub po prostu zrobili kilka rzeczy, aby to obejść w zwykłych przypadkach, a ponowna instalacja jako część rozwoju nie jest przypadkiem, którego dotyczy.


2
tak, otrzymałem komunikat „zbyt wiele otwartych plików” tuż przed tym problemem, myślę, że jest powiązany, nie jestem pewien, czy i kiedy nadejdzie właściwa poprawka ...
Marty,

Marty - zrobiłem to samo
Someone Somewhere

3

Tutaj Nexus One, CyanogenMod 7 (Android 2.3.7) ... wyłącz i włącz ponownie:

Ustawienia> Aplikacje> Rozwój> Debugowanie USB

I wszystko działa teraz na Eclipse i Mac OS X 10.7.3.


2

Mam ten sam problem, gdy mam telefon podłączony przez koncentrator USB mojej klawiatury. To zniknęło, gdy podłączyłem się bezpośrednio do portu USB komputera.


2

Miałem ten sam problem i ponowne uruchomienie ADB nie zadziałałoby dla mnie. Czasami ponowne uruchamianie telefonu działało, ale nie zawsze, przez około tydzień nie mogłem programować z powodu tej usterki i myślę, że w końcu znalazłem obejście! :-RE

Przede wszystkim zabij wszystkie programy uruchomione w telefonie. Posiadanie pewnego rodzaju menedżera zadań sprawia, że ​​jest to szybkie zadanie, w przeciwnym razie będziesz musiał ręcznie zabijać je wszystkie pojedynczo.

Jeśli to nie rozwiąże problemu, musisz przejść do ustawień telefonu, a następnie przejść do „Aplikacje”, a następnie do „Uruchomione usługi” i zabić wszystkie dostępne tam usługi. Używam Droid Incredible i jeszcze mi to nie zadziałało. :-)

Krótka odpowiedź brzmi: zabij wszystkie aplikacje i wszystkie usługi.

Pamiętaj też, że będziesz musiał zamknąć i ponownie otworzyć zaćmienie, aby sprawdzić, czy ta poprawka zadziałała. Mam nadzieję, że to działa dla Ciebie, wiem, że zadziałało dla mnie! :-RE


2

Kiedy to się dzieje na Kindle Fire, po prostu wyłączam go i włączam ponownie.


2

Naprawiłem to, wyłączając i włączając konfigurację debugowania na moim urządzeniu (SonyEricsson Xperia)


2

Ten błąd występuje, gdy w jakiś sposób Android Debug Bridge , który jest narzędziem do wysyłania danych z naszego komputera do podłączonego urządzenia, rozłącza się. Jak wiemy, istnieje kilka warstw, które można połączyć, jak sam adb i oczywiście ostatnią warstwą jest kabel USB, więc kiedy już próbowałeś ponownie uruchomić skrypt adb i wydaje się, że nie działa, wystarczy ponownie podłączyć kabel.


1

Widzę ten problem regularnie zarówno w podłączonych urządzeniach (telefonie lub tablecie), jak i nawet emulatorach. Zauważyłem, że problem często występuje po okresach bezczynności (np. Po przerwie obiadowej). Może się zdarzyć, że system operacyjny na maszynie deweloperskiej próbuje oszczędzać zasoby, a adb nie jest wcale tak przyjazny dla JIT. W systemie Windows muszę zamknąć IDE i otworzyć Menedżera zadań i wymusić zatrzymanie (zabić) adb, a następnie ponownie uruchomić Eclipse. To zawsze działa dla mnie ...

  • Zauważyłem, że jeśli ustawię wyższy priorytet w menedżerze zadań dla adb, ten problem jest znacznie zmniejszony - chociaż nadal może się zdarzyć.

1

Ponowne uruchomienie telefonu również rozwiązało ten problem za każdym razem, gdy resetowanie kabla USB go nie naprawiało


wyłączanie i włączanie debugowania USB nie działa dla mnie. Próbowałem ponownie uruchomić urządzenie… wszystko działało dobrze. Myślę, że ten błąd jest związany z wieloma aplikacjami lub usługami działającymi na urządzeniu, więc kiedy go zrestartuję lub menedżer zadań -> Ram -> Wyczyść pamięć, zapisze problem
Chris Sim

1

Rozwiązanie prawdopodobnie będzie działać na twoim telefonie z Androidem (na lokalnym terminalu lub terminalu ssh): $ stop adbd; start adb

Nie lubię przesadnych rozwiązań, takich jak ponowne uruchamianie telefonu hte ... i zwykle nie jest to potrzebne pod Linuksem. Doświadczyłem tego samego problemu podczas łączenia się przez Wi-Fi, więc USB może w ogóle nie odpowiadać. Czytając odpowiedź użytkownika655489 wpadłem na pomysł, aby uruchomić lsof, a następnie lsof | grep adbd | wc -l => Myślę, że miałem otwartych wiele gniazd z wszystkimi FD od 0 do 1023 w użyciu ... jakie podejrzane.

Uruchomiłem killall adbd, a następnie ponownie uruchomiłem adbd na Jak mogę połączyć się z Androidem za pomocą ADB przez TCP? I problem zniknął.

Przyczyną jest to, że przynajmniej podczas debugowania i konieczności zabijania moich niedziałających aplikacji, kilka gniazd nigdy nie zostaje zamkniętych.


1

Pomaga mi: +++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++

Jeśli debugujesz w systemie AndroidX86 (lub w inny sposób masz uprawnienia administratora do maszyny programisty Android), zakończ proces „adbd” i pozwól mu uruchomić się ponownie.

na przykład

[Na maszynie wirtualnej z systemem Android]

  • kill adbd (np. kill `ps a| grep adbd | awk ' { print $2 } '`)
  • / sbin / adbd uruchomi się ponownie automatycznie

[Na stacji DEV]

  • [stacja deweloperska] ./adb odłącz
  • [stacja deweloperska] ./adb connect

Jeśli nie masz roota, prawdopodobnie pomocne może być przełączanie debugowania USB, restartu itp. Ponieważ również ponownie uruchamia adbd +++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++


0

Bardzo często doświadczam tego problemu (mam na myśli jak za każdym razem, gdy uruchamiałem Debugowanie). Użyłem dość długiego kabla USB. Przełączyłem się na oryginalny kabel HTC USB, który jest krótki i problem zniknął!


0

Wystąpił ten problem, gdy mój kabel USB był podłączony do komputera za pośrednictwem klawiatury USB : O. Po podłączeniu go bezpośrednio do komputera mój problem został rozwiązany.

Mam nadzieję, że to zadziała.

Cieszyć się!



0

Spróbuj tego,

Wyłączanie debugowania USB w telefonie, a następnie ponowne włączanie pod

Ustawienia -> Aplikacje -> Rozwój -> Debugowanie USB

działa dobrze.


0

To rozwiązanie zadziałało dla mnie

  1. Kliknij Odwołaj uprawnienia do debugowania USB.
  2. Kliknij OK.
  3. Podłącz ponownie USB.
  4. Kliknij OK, aby uzyskać uprawnienia.

wprowadź opis obrazu tutaj

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.