Mam problem z emulatorem-5554, ciągle mówi mi, że jest offline.
Kiedy robię adb devices
z wiersza poleceń, mówi
emulator-5554 offline
Nawet po ponownym uruchomieniu próbuję wykonać to polecenie i nadal wyświetla komunikat, że jest offline.
Problem polega na tym, że kiedy próbuję zainstalować pliki .apk na emulatorze za pomocą abd install <path>
wiersza poleceń, mówi mi, że jest offline, jeśli utworzę inne urządzenie i uruchomię je, a następnie spróbuję zainstalować pliki .apk, mówi: ja masz podłączonych zbyt wiele urządzeń. Innymi słowy, nie mogę zainstalować moich plików .apk.
Jak na świecie mogę się pozbyć tego przeklętego emulatora-5554? Słyszałem, że jeśli wykonasz restart, powinno wyczyścić wszystkie urządzenia, ale to nie wydaje się działać. To tak, jakby był inicjowany podczas uruchamiania komputera. Czy ktoś napotkał ten problem?
Dzięki
źródło
adb devices
uzyskać nazwy emulatorów. 4. Spróbuj zainstalować pakiet APK, wykonując:adb -s NAME_OF_DEVICE install file.apk
5. Powiedz nam, co się stanie.adb -d
określone urządzenia USB zamiast emulatorów,adb -e
emulatorów zamiast urządzeń USB iadb -s NAME
myślę, że można je wykorzystać do określenia konkretnego urządzenia, chociaż nie jestem pewien, czy ostatnie zawsze działa tak, jak myślisz.Odpowiedzi:
W takim przypadku możesz wykonać wszystkie poniższe czynności, aby mieć pewność, że emulator zacznie ponownie działać:
adb kill-server
adb
w procesach. Jeśli znajdziesz, kliknij prawym przyciskiem myszy i kliknij koniec drzewa procesu.Otóż to! To zajmie trochę czasu i powinno rozwiązać twój problem.
źródło
1. Po prostu „Wyczyść dane”, aby rozwiązać ten problem.
2. Jeśli to nie zadziała, przejdź do emulowanego urządzenia i włącz opcje programisty> włącz debugowanie USB
źródło
Sposób, w jaki Android wykrywa emulatory, polega na skanowaniu portów, zaczynając od portu 5555.
Numer, który widzisz na
adb devices
liście (w twoim przypadku 5554) będzie o jeden mniejszy niż port, który adb znajduje otwarty.Prawdopodobnie masz uruchomiony proces, który nasłuchuje na porcie 5555. Aby pozbyć się urządzenia „offline”, musisz znaleźć tę aplikację i zamknąć ją lub ponownie skonfigurować, aby nasłuchiwała na innym porcie.
źródło
To rozwiązanie jest przeznaczone dla systemu Windows.
(Zobacz rozwiązanie @Chris Knight dla Mac / Linux )
Uruchom Windows Powershell:
Start -> wpisz „powershell” -> naciśnij ENTER
Uruchom następujące polecenie: urządzenia adb
PS C:\Users\CJBS>adb devices List of devices attached emulator-5656 host emulator-5652 host 12b80FF443 device
W tym przypadku 12b80FF443 jest moim fizycznym urządzeniem, a wpisy emulatora- * są śmieciami.
Per @Brigham : „Sposób, w jaki Android wykrywa emulatory, polega na skanowaniu portów zaczynając od portu 5555”. Numer portu jest podany po nazwie emulatora (w tym przypadku 5656 i 5652). Numer portu do sprawdzenia to numer portu emulatora plus 1. W tym przypadku: -
5656 + 1 = 5657
5652 + 1 = 5653
Zobaczmy więc, który program używa tych portów. W tym przypadku porty do sprawdzenia zaczynają się od „565”. Dlatego wyszukam używane porty zaczynające się od 565. Wykonaj:
netstat -a -n -o | Select-String ":565"
PS C:\Users\CJBS> netstat -a -n -o | Select-String ":565" TCP 127.0.0.1:5653 127.0.0.1:5653 ESTABLISHED 5944 TCP 127.0.0.1:5657 127.0.0.1:5657 ESTABLISHED 5944
tasklist /v | Select-String 5944
. Zastąp 5944 wynikiem poprzedniego polecenia:PS C:\Users\CJBS> tasklist /v | Select-String 5944 adb.exe 5944 Console 1 6,800 K Running MyPCName\CJBS 0:06:03 ADB Power Notification Window
Co za niespodzianka. To jest ADB. Jak zauważono w innych odpowiedziach, mogą to być również inne programy.
kill 5944
, zastępując 5944 numerem PID z poprzedniego polecenia.PS C:\Users\CJBS> kill 5944
PS C:\Users\CJBS>adb devices List of devices attached * daemon not running. starting it now on port 5037 * * daemon started successfully * 12b80FF443 device
ADB uruchamia się ponownie (tak jak poprzednio został zabity) i nie wykrywa więcej fałszywych emulatorów.
źródło
W Menedżerze AVD wypróbuj opcję „Zimny rozruch teraz” w menu rozwijanym. U mnie zadziałało!
źródło
Jeśli korzystasz z systemu Linux lub Mac i zakładając, że urządzenie offline to „emulator-5554”, możesz uruchomić następujące czynności:
netstat -tulpn|grep 5554
Co daje następujący wynik:
tcp 0 0 127.0.0.1:5554 0.0.0.0:* LISTEN 4848/emulator64-x86 tcp 0 0 127.0.0.1:5555 0.0.0.0:* LISTEN 4848/emulator64-x86
To mówi mi, że identyfikator procesu 4848 (twój prawdopodobnie będzie inny) nadal nasłuchuje na porcie 5554. Możesz teraz zabić ten proces za pomocą:
sudo kill -9 4848
a duch urządzenia offline już nie istnieje!
źródło
W końcu rozwiązałem ten problem, musiałem przejść do opcji programisty z Ustawień w Emulatorze , potem trochę przewinąłem, włączyłem debugowanie USB. Natychmiast moje urządzenie zostało rozpoznane online i nie miałem już do czynienia z tym problemem. Próbowałem ponownie uruchomić studio i emulator Androida , zabijając proces adb , ale te nie działały.
źródło
Ja też miałem ten sam problem. Wypróbowałem wszystkie opisane tutaj rozwiązania, ale mi nie pomogły. Następnie usunąłem wszystkie emulatory w Android Virtual Device Manager i utworzyłem nowe. Problem dotyczył konfiguracji obrazu systemu CPU / ABI w Android Virtual Device Manager . Na moim emulatorze maszyny Windows10 z obrazem systemu
x86
zawsze jest w trybie offline, gdzie emulator z obrazem systemux86_64
działa prawidłowo, zgodnie z oczekiwaniami. Po prostu bądź tego świadomyźródło
W moim przypadku znalazłem proces, który sprawia, że adb nie działa dobrze.
Możesz spróbować zabić jakiś dziwny proces i uruchomić „urządzenia adb” w celu przetestowania.
U mnie zadziałało:
zabij proces o nazwie MONyog.exe
źródło
Rozwiązałem to, otwierając mój wiersz polecenia:
adb kill-server
urządzenia adb
Po uruchomieniu ADB wykrywa teraz urządzenie / emulator.
źródło
Tylko napisz
i bądź zadowolony z adb))
źródło
rm -Rf ~/.android
czyszczenie urządzeń offline. Najlepsze polecenie i tylko jedno, aby rozwiązać mój problem. Nie,kill-server
albostart-server
załatwił sprawę.Włącz debugowanie USB w swoim emulatorze
To się cieszy
źródło
Opcja „wyczyść dane użytkownika” ostatecznie rozwiązała mój problem. wystarczy wyczyścić dane użytkownika za każdym razem, gdy uruchamiasz emulator. To zawsze działa dla mnie! Używam Windows 8 x64, Eclipse
źródło
Cold Boot Now
pomaga.Z listy menedżerów AVD w menu rozwijanym akcji: Cold Boot Now
uruchamia go ponownie bez bólu powyżej.
źródło
Czy próbowałeś usunąć i odtworzyć swój AVD? Możesz ręcznie usunąć pliki AVD, przechodząc do katalogu, w którym są przechowywane (w podkatalogu /.android/avd użytkownika).
źródło
Przejdź do menedżera zadań systemu Windows i zakończ proces „adb.exe”. Może istnieć więcej niż 1 wystąpienie tego samego procesu, upewnij się, że wszystkie zostały zakończone.
źródło
Czy masz zainstalowane bluestacks? Jeśli to zrobisz, uruchomione w tle procesy utworzą urządzenie offline „emulator-5554”.
Przejdź do menedżera zadań i zakończ wszystkie procesy opisem „Bluestacks”
źródło
na Linuksie lub Macu zablokowany port będzie emulator-id + 1, więc 5555:
sudo lsof -i :5555
pokaże ci pid procesu, który pobiera port (powinna być druga kolumna), więc aby go zabić:sudo lsof -i :5555 | awk '{print $2}' | xargs kill
wtedy urządzenia adb (fałszywe) nie będą już wyświetlane na liście
źródło
W moim przypadku emulator działał z Oreo i niższym, ale nie z Pie i wszystko, czego próbowałem, wydawało się nie mieć efektu. Ostatecznie zadziałało zaktualizowanie emulatora do najnowszej wersji (wersja 28).
źródło
W moim przypadku zacząłem w 'Cold Boot Now' i kliknąłem Message, aby zezwolić na połączenie.
źródło
otwórz emulator,
ustawienie -> o emulowanym urządzeniu -> klikaj wielokrotnie Numer kompilacji -> otwórz opcje programisty -> otwórz debugowanie USB
źródło
Zauważyłem, że środowisko emulacji pojawia się jako „offline”, gdy wersja adb, której używam, nie była nowa. Poprawnie zaktualizowałem moje ścieżki (i usunąłem starą wersję adb) i po „adb kill-server”, „adb devices”, środowisko emulacji nie było już „offline”.
Od razu mogłem użyć "powłoki adb".
źródło
Spróbuj tego ...
Zamknij emulator, jeśli jest uruchomiony.
Uruchom ponownie Emulator i poczekaj, aż pojawi się online.
wpisz Command w wierszu polecenia i naciśnij klawisz ENTER: adb tcpip 5555
(Upewnij się, że w danym momencie działa tylko jeden emulator).
adb -s emulator-5555 emu kill
Naciśnij klawisz Enter ....
Gotowe.
sprawdź urządzenia za pomocą polecenia „urządzenia adb” w cmd.
źródło
Jeśli emulator jest już otwarty lub działa, poinformuje Cię, że jest offline. Możesz dwukrotnie sprawdzić w wierszu poleceń (Ubuntu) i wykonać:
Musisz zobaczyć swój emulator w trybie offline, musisz zamknąć działającą instancję emulatora (ponieważ port będzie wyświetlany jako zajęty), a następnie możesz uruchomić aplikację. Mam nadzieję, że to komuś pomoże.
źródło
Próbowałem wszystkiego, ale tylko ten działa w moim przypadku: użyj menedżera SDK i ponownie zainstaluj obraz systemu. Android Studio, kliknij Configure, SDK Manager, Launch Standalone SDK Manager, zaznacz wszystkie „Google APIs Intel x86 * System Image”, „Intel x86 Atom * System Image” i zainstaluj. Następnie uruchom ponownie Android Studio.
Być może będziesz musiał ponownie skonfigurować i wyczyścić urządzenie wirtualne za pomocą AVD Manager, upewnij się, że wybrałeś wersję x86.
źródło
Upewnij się, że włączona integracja ADB jest zaznaczona; przejdź do Narzędzia> Android> Włącz integrację ADB.
jeśli nie jest zaznaczone, zaznacz tę opcję, zamknij urządzenie wirtualne i otwórz je ponownie. to zadziałało dla mnie .. powodzenia !!
źródło
Miałem ten sam problem z moim urządzeniem wirtualnym. Problem wynika z obrazu Oreo urządzeń wirtualnych, które mają zintegrowany Sklep Play. Aby rozwiązać ten problem, zainstalowałem nowe urządzenie bez zintegrowanego Sklepu Play i wszystko było w porządku.
Mam nadzieję, że to pomoże, pa
źródło
Zobacz emulator-5554 nieautoryzowany dla urządzeń adb . Na emulatorze API 29 uruchomiłem
adb devices
polecenie i otrzymałememulator-5554 unauthorized
wiadomość. Następnie stworzyłem noweavd
urządzenie zGoogle APIs
obrazu (w moim przypadku Q, x86), a nie zGoogle Play
.źródło
Po prostu usuń i ponownie utwórz gear avd. To zadziała.
źródło
W moim przypadku przyczyną było wznowienie pracy maszyny wirtualnej z systemem Android-x86. Ponowne uruchomienie maszyny wirtualnej z systemem Android-x86 i ponowne uruchomienie serwera adb rozwiązało problem.
źródło