Ilekroć próbuję biegać adb devices
:
$ adb devices
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
HT0ANRV05740 device
Mówi, że demon nie działa i uruchamia go ponownie.
Następnie, jeśli ponownie uruchomię urządzenia adb, robi to to samo -
$ adb devices
adb server is out of date. killing...
* daemon started successfully *
List of devices attached
HT0ANRV05740 device
Następnie, jeśli uruchomię go ponownie, ponownie robi dokładnie to samo -
$ adb devices
adb server is out of date. killing...
* daemon started successfully *
List of devices attached
HT0ANRV05740 device
Proszę pomóż!!
Ponadto mój DDMS ciągle przekazuje mi następującą wiadomość -
[2011-02-23 16:17:05 - DeviceMonitor]Adb connection Error:An existing connection was forcibly closed by the remote host
Oto dzienniki sprzed ponownego uruchomienia adb -
1291 locapi_rpc_glue V loc_ioctl
1291 RPC D written RPC packet size: [480]
1291 RPC D read RPC packet
1291 RPC D read RPC packet size: [28]
1291 lib_locapi V qct_loc_eng_inject_xtra_data, inject part = 100, len = 167, len = 167
1291 lib_locapi V qct_loc_eng_inject_xtra_data, total part = 100, len = 167
1291 locapi_rpc_glue V loc_ioctl
1291 RPC D written RPC packet size: [248]
1291 RPC D read RPC packet
1291 RPC D read RPC packet size: [28]
1291 lib_locapi D qct_loc_eng_inject_xtra_data: injected 39767, SUCCESS
1291 lib_locapi V inject_xtra_waiting = flase
1291 GpsLocationProvider D Releasing wakelock
1291 WifiService D releaseWifiLockLocked: WifiLock{NetworkLocationProvider type=2 binder=android.os.Binder@47aead50}
1291 WifiService D enable and start wifi due to updateWifiState
1218 rmt_storage I rmt_storage open event
1218 rmt_storage I rmt_storage client thread started
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I rmt_storage register cb event
1218 rmt_storage I rmt_storage status id = 2
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I rmt_storage open event
1218 rmt_storage I rmt_storage client thread started
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I rmt_storage register cb event
1218 rmt_storage I rmt_storage status id = 2
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I rmt_storage write event
1218 rmt_storage I unblock rmt_storage client thread
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I rmt_storage write: bytes written = 3145216
1218 rmt_storage I rmt_storage write: bytes written = 512
1218 rmt_storage I rmt_storage status handle = 1
1291 BatteryStatsImpl I notePhoneSignalStrengthLocked: 4->3
1218 rmt_storage I rmt_storage write event
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I unblock rmt_storage client thread
1291 PowerManagerService D New lightsensor value:40, lcdValue:143
1291 PowerManagerService D lightSensorChangedLocked, buttonValue >= 0, mPowerState = 3
1218 rmt_storage I rmt_storage write: bytes written = 3145216
1218 rmt_storage I rmt_storage write: bytes written = 512
1218 rmt_storage I rmt_storage status handle = 2
1291 RPC D read RPC packet
1291 RPC D read RPC packet size: [80]
1291 locapi_rpc_glue V Callback received: 80 (cb_id=0x50B0000 handle=1)
1291 RPC D written RPC packet size: [28]
1470 usicWidgetController D unbindMusicPlaybackService()
1707 MediaPlaybackService E BadQueue mPlayListLen : 0 mAlbumListLen : 0 mShrinkAlbumListLen : 0
1291 NotificationService V Battery Full, Charging
1291 lights E write ok string=0,len=1
1291 lights E write ok string=0,len=1
1291 lights E write ok string=0 0,len=3
1291 lights E write ok string=1,len=1
1707 MediaPlayer.java D setOnCompletionListener being cleaned to null
1291 lights E write ok string=0,len=1
1291 lights E write ok string=0 0,len=3
1291 NotificationService V Turn off Jogball/OJ LED
1291 NotificationService D cancelNotification, ACTION_NOTIFICATION_REMOVE,pkg=com.htc.music,id=1
1291 AudioService I AudioFocus abandonAudioFocus() from android.media.AudioManager@476ddee0com.htc.music.MediaPlaybackService$5@476dd838
aosp/out/host/darwin-x86/bin/adb
na,adb-aosp
ponieważ pozaaliasing
tym moja lokalna (poza AOSP) wersja nie działała.Odpowiedzi:
Czy używasz Genymotion na urządzeniu wirtualnym?
jeśli tak, ten błąd prawdopodobnie pojawił się, ponieważ ADB z Genymotion spowodował konflikt z ADB z Android SDK (używając tego samego numeru portu), aby to naprawić, po prostu przejdź do
settings
=> wybierzADB
tab => kliknij opcjęUse custom Android SDK Tools
i ustaw folder SDKpo skonfigurowaniu tego spróbuj ponownie uruchomić adb, przechodząc do folderu, w
platform-tools
którym zostaładb
umieszczony i wykonaj następujące polecenie:./adb kill-server
./adb start-server
* wskazówki: Możesz zamknąć proces Genymotion przed uruchomieniem powyższej komendy
Mam nadzieję, że to pomoże.
źródło
Odinstalowałem Dell PC Suite i HTC Sync z mojego komputera i ten problem zniknął.
EDYCJA: Aby wyjaśnić nieco przyczynę tego problemu: Synchronizacja HTC jest dostarczana z własnym serwerem ADB. I aktualizuje zmienną środowiskową PATH, aby wskazywała na wersję serwera. Edytuj zmienną PATH i usuń odniesienie do katalogów HTC Sync. Teraz znowu używasz Google ADB.
źródło
adb start-server
działało.Uważam, że czasami muszę jawnie ręcznie zabić i ponownie uruchomić serwer:
Ten szok jest na ogół wystarczający, aby ponownie stanąć na nogi i zapobiega powtarzaniu
adb server is out of date. killing...
wiadomości.źródło
adb kill-server
dopóki nie pojawi się komunikat „demon nie działa ...”Upewnij się, że nie działają żadne inne procesy adb
W systemie może działać więcej niż jeden proces adb. Narzędzia takie jak Android Reverse Tether mogą korzystać z własnej wersji narzędzia adb, dlatego wersja w pamięci może kolidować z wersją uruchamianą z wiersza poleceń (za pośrednictwem zmiennej ścieżki).
Windows
W systemie Windows naciśnij CTL+ Shift+, ESCaby uzyskać dostęp do Menedżera zadań, posortuj w kolumnie Nazwa obrazu , a następnie zabij wszystkie wystąpienia
adb.exe
, klikając prawym przyciskiem myszy i wybierając opcję Zakończ proces . Zwróć uwagę, że istnieje wiele wystąpieńadb.exe
poniższych:Linux (Android)
W środowisku Linux po prostu użyj
kill -9
polecenia. Coś takiego działało na uruchomionym urządzeniu z Androidemadb
(użyjps
danych wyjściowych, wyszukajgrep
proces zaczynający się odadb
, pobierz identyfikator procesu zadb
procesów i wyślij ten identyfikator dokill -9
polecenia):Następnie uruchom ponownie adb
Po rozwiązaniu
adb
procesów - a tym samym konfliktów - spróbuj ponownie uruchomićadb
z wiersza poleceń:źródło
W moim komputerze (Ubuntu 14.04 i Genymotion 2.5.2) źródłem problemu było to, że miałem 2 pliki adb różnych wersji.
(Wcześniej, zawężając to źródło problemu, miałem już Ustawienia Genymotion> „Użyj niestandardowych narzędzi Android SDK” odnoszących się do zainstalowanego katalogu Android SDK mojego komputera, zgodnie z zaleceniami Aditya Kresna Permana. Próbowałem też zabić i uruchomić serwer adb i kilka innych rozwiązania z całej sieci).
Następnie zobaczyłem, że uruchomiony
adb version
z mojego katalogu instalacyjnego Android SDK „~ / Android / Sdk / platform-tools” utworzony - „Android Debug Bridge w wersji 1.0.32”Ale
adb version
polecenie z katalogu „/ usr / bin” zostało utworzone - „Android Debug Bridge w wersji 1.0.31”Tak więc po prostu wykonałem - http://bernaerts.dyndns.org/linux/74-ubuntu/328-ubuntu-trusty-android-adb-fastboot-qtadb, aby zaktualizować adb w „/ usr / bin”
A teraz bieganie
adb devices
działa idealnie zgodnie z oczekiwaniami.Rozwiązało również powiązany problem, który zanim moja aplikacja PhoneGap (Cordova) nie została zintegrowana z urządzeniem wirtualnym Genymotion. Teraz oczywiście ten problem również został rozwiązany.
źródło
Jest to spowodowane tym, że używasz innej reklamy niż ta zawarta w SDK. Jeśli używasz Linuksa, sprawdź, gdzie znajduje się plik binarny adb
Jeśli nie wskazuje na ANDROID_SDK / platform-tools / adb, oznacza to, że używasz starej wersji adb zainstalowanej w innej lokalizacji na komputerze.
Nie ma nic złego w uruchamianiu adb innego niż ten dostarczany z SDK, ale wadą jest to, że nie jest aktualizowany automatycznie po zaktualizowaniu zestawu SDK dla systemu Android i dlatego napotykasz ten problem z przestarzałą wersją.
Łatwiejsze rozwiązanie i uniknięcie tego problemu w przyszłości zmień nazwę starszego (mylącego) pliku binarnego adb na coś innego.
Postępuj zgodnie z instrukcjami, aby rozwiązać ten problem.
źródło
Właśnie wyszedłem z HTC Sync, spróbowałem ponownie i zadziałało. Uwaga: telefon stał się czarny (zablokowany), właśnie go włączyłem i moja aplikacja była uruchomiona. :)
źródło
System: Windows 10
Mój problem : ustawienie Genymotion tak, aby wskazywało na niestandardowy zestaw SDK, nie miało żadnego wpływu. Nadal otrzymałem:
Odkryłem, że istnieje różnica w wersjach ADB używanych w całym systemie. Oto polecenie, którego użyłem, aby je znaleźć:
Dało to wyniki:
Przechodzenie do każdego katalogu i uruchamianie:
Pozwolił mi zobaczyć, że Expo działa w wersji ADB:
Podczas gdy Genymotion używający niestandardowego zestawu SDK miał wersję (c: \ Users \ kyle \ AppData \ Local \ Android \ Sdk \ platform-tools \ adb.exe):
W ramach testu wziąłem pliki adb (adb.exe, AdbWinApi.dll, AdbWinUsbApi.dll) z
i umieścił je w folderze kopii zapasowych. Następnie przeniosłem pliki adb znajdujące się pod adresem
do tej samej lokalizacji. Zabiłem adb z:
co spowodowało automatyczne ponowne uruchomienie serwera adb z powodu już uruchomionego mojego urządzenia Genymotion. Nacisnąłem przycisk „Uruchom ponownie” wewnątrz Expo XDE i natychmiast zaczęło działać. Oto dziennik, w którym nacisnąłem przycisk restartu o 1:13:04:
Wniosek : Genymotion i Expo może wymagać użycia tej samej wersji adb, aby Expo mogło poprawnie komunikować się z symulowanym urządzeniem. Wskazanie Genymotion na lokalizację Android SDK, a także zapewnienie, że Expo XDE ma tę samą wersję, umożliwi poprawną komunikację między urządzeniami. Przeniosłem wersję Expo XDE do lokalizacji SDK, ale być może będziesz mógł przejść w drugą stronę (weź pliki SDK ADB i umieść je w lokalizacji zasobów Expo XDE).
PS Przeszedłem przez wszystkie posty związane z tym problemem. Abyście wiedzieli, mój menedżer zadań pokazuje trzy uruchomione instancje adb.exe. Jeśli zabijesz któregoś z nich, po prostu wrócą.
Mam nadzieję, że to pomoże / na zdrowie
źródło
Wydaje się, że demon ADB na urządzeniu (adbd) nie zgadza się z procesem serwera ADB na twoim komputerze-hoście, co do wersji protokołu, na którym rozmawiają. Którą wersję zestawu SDK używasz i jaka jest wersja systemu operacyjnego na debugowanym urządzeniu?
To, co może być konieczne, to obniżyć wersję narzędzi SDK, aby demon ADB i proces były zgodne. Myślałem, że proces serwera jest całkowicie kompatybilny wstecz, ale może to być jeden z tych narożnych przypadków, w których tak nie jest. Google nie reklamuje faktu, że można pobrać ich stare pakiety narzędzi SDK, ale można je znaleźć, przeglądając obszar archiwów pod adresem http://developer.android.com .
źródło
adbd
i,adb server
ale raczej międzyadb server
iadb client
(obie działają na PC)Mam szybki sposób, aby to zrobić
Następnie
Najszybszy sposób rozwiązania problemu
źródło
Po prostu całkowicie zamknąłem aplikację do synchronizacji htc i spróbowałem ponownie. Działało tak, jak powinno.
źródło
Na tym uderzyłem głową o ścianę. Zaczęło się to dziać, gdy zainstalowałem najnowszą wersję HTC sync (3.0.5579). Z jakiegoś powodu adb.exe pojawiał się wiele razy w menedżerze zadań i otrzymywałem, że serwer adb jest nieaktualny, zabijając błędy wiele razy. Znalazłem wersję adb.exe w katalogu synchronizacji HTC i katalogu narzędzi platformy Android SDK. Miałem skonfigurowaną ścieżkę poprawnie wskazującą na katalog Android SDK i nie widziałem ścieżki HTC Sync (może czegoś mi brakowało, ale nie sądzę). W każdym razie, aby rozwiązać problem, po prostu zmieniłem nazwę pliku adb.exe w katalogu HTC Sync i wszystko znów działało. Może to nie jest właściwy sposób rozwiązania tego problemu, ale dla mnie zadziałał.
źródło
Pomogło mi: zatrzymaj HTC Sync (w zasobniku systemowym) i zmień nazwę HTC adb.exe (C: \ Program Files (x86) \ HTC \ HTC Sync 3.0 \ adb.exe).
źródło
System: Windows 7, Android Studio.
Ten błąd wystąpił, gdy uruchomiłem
adb devices
z wiersza poleceń systemu Windows.Główną przyczyną było to, że adb, który uruchamiałem z wiersza poleceń, nie był tym samym adb działającym z Android Studio.
Rozwiązanie:
Najpierw zabij wszystkie uruchomione procesy adb na komputerze.
taskkill /F /IM adb.exe
Uruchom swoją aplikację z Android Studio.
Zlokalizuj dokładną lokalizację pliku adb.exe w Menedżerze zadań Windows LUB wykonując poniższe polecenie
wmic process where "name='adb.exe'" get ProcessID, ExecutablePath
W wierszu polecenia systemu Windows uruchom,
where adb
aby zlokalizować adb uruchamiany z wiersza polecenia. Ta ścieżka różniłaby się od tej w kroku 3 powyżej.Edytuj zmienną systemową Windows PATH. Usuń z niego ścieżkę podstawową znalezioną w kroku 4.
Po edycji PATH możesz zobaczyć bieżącą zawartość tej zmiennej, wpisując poniższe polecenie w NOWYM wierszu polecenia (nie używaj starego znaku zachęty).
echo %PATH%
Teraz uruchom adb z wiersza poleceń. NIE powinien pokazywać żadnego „błędu nieaktualności serwera”!
źródło
Doświadczyłem podobnego problemu, gdy moje próby użycia,
adb
takie jakadb logcat
pod warunkiem tego wyjścia błędu:adb server version (40) doesn't match this client (36); killing...
To rozwiązanie działało u mnie w 2018 roku na Ubuntu 18.04 z Android Studio 3.2.1 przy użyciu terminala.
Polecenia są następujące:
Konieczne może być dostosowanie
cp
argumentów polecenia na podstawie ścieżkiAndroid/
w systemie.Uznanie drugiej generacji dla mojego źródła: https://stackoverflow.com/a/40991118/7015599
źródło
Spróbuj tego:
Zamknij aplikację Eclipse.
adb kill-server
Uruchom ponownie Eclipse.
źródło
Najpierw zamknij Wszystkie rzeczy, które używają ADB. (Android Studio, Eclipse, Emulator (również Bluestack)), a następnie zrób
W moim przypadku właśnie dostałem aktualizację Studio.
źródło
OK, istnieje inna instancja pliku adb.exe dystrybuowana z programem „Lenovo Photo Companion”. Mój przyjaciel ma notebook Lenovo Yoga i zainstalował to oprogramowanie, które zawierało inny plik adb.exe
Odinstalowanie go rozwiązało problem.
źródło
System operacyjny: Ubuntu
Działa więcej niż 1 adb. Sprawdź aktualny adb:
Zwykle wynikiem będzie:
Usuń starszą wersję przez:
źródło
Czy próbowałeś użyć SDK w wersji 8. Ponieważ urządzenie jest w wersji 2.2, a Twój SDK ma stan 10, może wystąpić konflikt.
Powodzenia w obniżaniu kwalifikacji !! Mam nadzieję, że to rozwiązuje.
źródło
Jeśli urządzenie, z którym próbujesz wejść w interakcję, to fizyczny telefon podłączony przez USB, możesz go odłączyć i podłączyć z powrotem i powinno działać. Myślę, że czasami po prostu traci synchronizację.
źródło
Miałem ten problem na jednej z moich maszyn programistycznych (wszystkie działają pod Windows 7 x64), podczas gdy adb wszystkich innych maszyn działa normalnie. Powodem, dla którego napotkałem ten problem, jest to, że mam starą wersję adb.exe znajdującą się w % android-sdk% \ tools, podczas gdy nowsze zestawy SDK dla Androida mają adb.exe w % android-sdk% \ platform-tools
usuń starszą wersję adb.exe z% android-sdk% \ tools i dodaj% android-sdk% \ platform-tools do% PATH% rozwiązuje ten problem
lub bardziej ogólnie, znajdź wszystkie nieaktualne pliki wykonywalne adb na swojej ścieżce, po prostu użyj najnowszego dostarczonego z Android SDK
źródło
Przejrzałem wszystkie odpowiedzi na SO i to nie zadziałało. Kiedy zabiłem proces adb.exe z Menedżera zadań, ciągle go otwierał, a powodem było to, że Droid Explorer działał w tle .
Zabicie procesu DE za pomocą Menedżera zadań, a następnie zabicie adb.exe (i ponowne uruchomienie go z konsoli przez „adb start-server” działało dla mnie).
Może to być przydatne dla wielu osób, które zrootowały swoje urządzenia .
źródło
End process tree
w Menedżerze zadań dla usługi Droid Explorer.Niestety nie mam jeszcze wystarczającej reputacji, aby komentować. Ale odpowiedź oznaczona jako odpowiedź skierowała mnie w dobrym kierunku.
Nie widziałem na swojej ścieżce nic związanego z HTC Sync Manager, chociaż miałem go zainstalowanego. W tej chwili nie pracuję z moim urządzeniem HTC i mam tylko menedżera synchronizacji, który pomaga w rozwiązywaniu problemów ze sterownikami. Po odinstalowaniu menedżera synchronizacji HTC ten problem zniknął.
Mam nadzieję, że to pomoże komuś innemu.
źródło
W moim przypadku problem został spowodowany przez Virtuous Ten Studio, który ma w
External/ADB
katalogu adb.exe .Idź tam i biegnij,
.\adb.exe kill-server
a będziesz dobry.źródło
W moim przypadku było to spowodowane uruchomieniem Visual Studio z projektem Android Xamarin na tej samej maszynie, co Android Studio - każde IDE miało uruchomioną inną wersję serwera adb. Zamknąłem program Visual Studio i błąd zniknął.
źródło
Jak wspomniano powyżej, problem jest spowodowany konfliktową wersją pliku adb.exe dostarczaną z HTC Sync. Usunięcie go z PATH nie pomoże, ponieważ htcUPCTLoader.exe, który stale działa w tle, nadal będzie ponownie uruchamiał niewłaściwą wersję ADB.
Jednym z rozwiązań byłoby całkowite usunięcie adb.exe z folderu HTC Sync, jednak zepsułoby to HTC Sync.
Właśnie zakodowałem proste narzędzie, które zastępuje stary adb.exe kodem pośredniczącym, który wywołuje najnowszy adb.exe z katalogu SDK, eliminując konflikty (np. Wersja 1.0.25 dostarczana z HTC Sync i 1.0.29 z Android SDK) .
Narzędzie można pobrać ze strony http://visualgdb.com/adbfix
źródło
Miałem też ten problem dzisiaj, okazuje się, że wyłączyłem sterowniki sieciowe, ponieważ miałem problemy z WIFI / LAN. ponowne włączenie rozwiązało problem
źródło
poprawiono instalowanie aktualizacji SDK (w tym narzędzi platformy)!
źródło
Ponieważ serwer adb jest nieaktualny. zabijanie jest teraz naśladownictwem tego, kopiuj-wklej rozwiązania dla systemów opartych na Debianie :
źródło