Czekam na pojawienie się urządzenia docelowego w trybie online

98

Niedawno zaktualizowałem do Android Studio 2.3, a teraz, gdy próbuję uruchomić aplikację, emulator nie przechodzi do trybu online. Wyłącza się po 300 sekundach.

Ponadto w aplikacji wystąpił KRYTYCZNY BŁĄD WYJĄTKOWY (OOM) i nie jestem pewien, jak to naprawić, lub czy jest to część problemu z emulatorem.

Każda pomoc jest bardzo ceniona. Ponownie, moja wiedza na temat programu jest bardzo ograniczona, więc jeśli Twoja odpowiedź może być prosta, byłoby świetnie.

MMurph23
źródło
to się dzieje u mnie również po aktualizacji. adb ciągle powtarza, że ​​urządzenie jest offline. Myślę, że to błąd studia. przejście na emulator genymotion rozwiązuje moje problemy.
j2emanue

Odpowiedzi:

41

Ja też miałem ten sam problem, potem poszedłem do menadżera AVD i kliknąłem prawym przyciskiem na emulator i zatrzymałem go i ponownie URUCHOMIĘ aplikację i tym razem zadziałało. może to być rozwiązanie tymczasowe, ale na razie działa.

Menedżer AVD-> kliknij prawym przyciskiem myszy emulator, którego używasz -> Zatrzymaj

Teraz Run znowu twoja aplikacja.

Uwaga: czasami bezpośrednie zamknięcie emulatora nie działa w przypadku powyższego problemu, ale zatrzymanie go z poziomu menedżera AVD, jak wspomniano, działa.

Biały cień
źródło
Wygląda na to, że wystąpił problem z emulatorem. To zadziałało! Dziękuję Ci!
MMurph23
Nie jestem pewien co do Android Studio 2.3.1, ale kiedy ten problem wystąpił po raz pierwszy w 2.3.0, to rozwiązanie zadziałało. Nigdy nie napotkałem tego samego problemu w 2.3.1
WhiteShadow
Myślę, że może to przypadkowo pomóc w naprawieniu stanu wyścigu, ale prawdziwe 100% rozwiązanie znajduje się poniżej MarkDubyi.
Sky Kelsey,
12
Ta odpowiedź wskazała mi właściwy kierunek, ale pomogło użycie opcji „Zimny ​​rozruch” z programu AVD Manager.
lbarbosa
1
Zimny ​​but pomógł!
Karzel
96

Następujące pracowałem dla mnie na Android Studio 3.x.

Krok 1: Otwórz Menedżera AVD.

wprowadź opis obrazu tutaj

Krok 2: Kliknij prawym przyciskiem myszy i wyczyść dane urządzenia wirtualnego, na którym testujesz.

wprowadź opis obrazu tutaj

Vakas
źródło
3
Dzięki, w końcu zadziałało. Prawdopodobnie niektóre pliki, które nie były poprawnie aktualizowane na emulatorze.
Sauleil
3
Pracowałem dla mnie z AS 2.3.3 i Nexusem 5X
Paul
3
Dzięki kolego :) Działa jak urok. Czy ktoś zgłosił to programistom Google?
Shashank Kapsime,
Skończyło się na utworzeniu nowego emulatora (i tak potrzebnego do rozmiaru ekranu) i usunięciu starego. To też to naprawiło.
oszołomiony
Pracował dla mnie w Android Studio 3.5.3
jaytibann
49

Jeśli używasz komputera Mac, upewnij się, że zamknąłeś Docker for Mac. To zadziałało dla mnie.

urupvog
źródło
4
Geniusz!! oszczędza dużo czasu ... chwała!
Abdullah Md. Zubair
3
Co to jest Docker dla komputerów Mac?
user3862830
1
always
docker
6
Czy ktoś może wyjaśnić, jak wyjść z Docker for Mac?
TJ1
1
Dlaczego w tym przypadku Docker powoduje problem z emulatorem? To działa dla mnie, ale chcę wiedzieć, dlaczego Docker jest w konflikcie z emulatorem?
TheLearner
25

Trzy dni na tym i uważam, że między adb a emulatorem jest stan wyścigu. Przy żądaniu uruchomienia aplikacji, gdy żaden emulator nie jest już uruchomiony, zostanie wyświetlony komunikat „Inicjalizacja ADB”, a następnie wybór emulatora, zostanie uruchomiony i zostanie wyświetlony komunikat „Oczekiwanie na przejście do trybu online”. Serwer zabijania adb, kill -9 lub „Zakończ proces” adb z menedżerem zadań spowoduje śmierć adb, ponowne uruchomienie, zainstalowanie APK i gotowe. Wydaje mi się dziwne, że „serwer zabijania adb” powoduje, że adb umiera, a następnie uruchamia się ponownie w tym miejscu, ale może to kolejna tajemnica.

MarkDubya
źródło
1
Dziękuję za znalezienie tego. To absolutnie działało dla mnie z Android Studio 2.3.1
Sky Kelsey
2.3.1 w systemie Windows 10, zabijanie procesu adb.exe, więc wydaje się, że jego ponowne uruchomienie również wydaje się rozwiązać problem. Dzięki!
sillv0r
To powinna być odpowiedź. Wybrana odpowiedź nie działa dla mnie, ale tak jest za każdym razem. Dzięki!
HondaGuy
1
W terminalu wpisz: cd, aby zmienić katalog na: android> sdk> platform-tools. Następnie wpisz: „adb kill-server”. a następnie: „adb start-server”
Halfacht
3
W AS v 2.3.3 to proponowane rozwiązanie nie działało. Pobiegłem adb kill-serverz terminala. waiting for target device...Wiadomość nie została zatrzymana, a serwer nie uruchomi się ponownie. Nadal nie mam rozwiązania.
Mike S.
16

Po wypróbowaniu wszystkich tych rozwiązań bez powodzenia, tym, który naprawił mój problem, była po prostu zmiana konfiguracji grafiki urządzenia wirtualnego z Auto na Software (najpierw wypróbowałem sprzęt bez powodzenia)

rennox
źródło
Gdzie jest ta konfiguracja graficzna urządzenia wirtualnego?
stramin
2
@stramin Przejdź do Menedżera urządzeń wirtualnych Android (z menu Narzędzia), kliknij Edytuj (ikona pióra) na maszynie wirtualnej, znajdź tam opcję Grafika. :)
Filip Savic
To zadziałało dla mnie na Ubuntu!
joko1206100
16
  1. Innym przypadkiem jest ponowna instalacja emulatora Androida . Może się to zdarzyć, gdy zainstalujesz nowszą wersję Android Studio, a następnie zaktualizujesz dla niej SDK i wrócisz do poprzedniej.

    Narzędzia - Android - Menedżer SDK - Narzędzia SDK - Emulator Androida - odznacz, zastosuj, zaznacz, zastosuj

  2. Wyłącz aplikację Docker, jeśli ją masz (użytkownicy komputerów Mac).

  3. Uruchom ponownie emulator :

    Narzędzia - Android - AVD Manager (lub zakończ proces adb w menedżerze zadań).

Zon
źródło
1
Emulator nie był nawet zainstalowany w moim przypadku.
mythicalcoder
1
Fajnie, ten mi pomógł!
peterkodermac
1
Wypróbowałem również tę opcję, ale problem nadal istnieje.
Vatsal Desai
W moim przypadku platforma Android SDK została zainstalowana tylko częściowo.
fhery021
14

Przejdź do Menedżera AVD w swoim Android Studio. Kliknij prawym przyciskiem myszy na emulatorze , a następnie wybierz wytrzeć danych .Następnie ponownie uruchomić aplikację . Emulator wykona czysty rozruch, a następnie zainstaluje apk, a aplikacja w końcu zostanie uruchomiona.

Podsumowanie : AVD Manager --- Emulator prawego przycisku myszy ---- Wyczyść dane ---- Ponownie uruchom aplikację

Jeśli problem nie ustąpi, po prostu wróć do swojego menedżera AVD, odinstaluj emulator , a następnie dodaj nowy emulator. Po dodaniu nowego emulatora w menedżerze avd uruchom emulator ... Następnie uruchom aplikację. Jest to o wiele prostsze, jeśli masz emulator już uruchomiony od samego początku przed pierwszym uruchomieniem aplikacji

RileyManda
źródło
7

Poniższe kroki działają dla mnie

  1. Zamknij uruchomiony emulator
  2. Idź do AVD Manager
  3. Wybierz dostępny emulator
  4. Na tej karcie akcji (ostatniej) kliknij strzałkę w dół i wybierz COLD BOOT NOW
  5. Na koniec uruchom aplikację
VVB
źródło
Zimny ​​but mi wystarczył.
PJ_Finnegan
6

Wygląda na to, że Android Studio (w wersji 3.5.1) po chwili wpada w dziwny stan. To zadziałało dla mnie.

Plik -> Unieważnij pamięci podręczne / Uruchom ponownie -> Unieważnij i uruchom ponownie

nkukday
źródło
5

To rozwiązanie działa dla mnie: Narzędzia -> AVD Manager -> kliknij strzałkę w dół -> wybierz Cold Boot Now

wprowadź opis obrazu tutaj

wprowadź opis obrazu tutaj

mostafa3dmax
źródło
3

Wygląda na to, że w moim przypadku problem polegał na tym, że „Obraz systemu Google APIs ARM EABI v7a” nie został automatycznie zainstalowany podczas instalacji Android Studio.

Po zainstalowaniu obrazu emulator zaczął działać.

Zrzut ekranu menedżera SDK

Arthur Khakimov
źródło
Witamy w SO! Przeczytaj ten poradnik odpowiedzi .
thewaywewewewewere
3

Po wypróbowaniu prawie wszystkich wymienionych powyżej rozwiązań, w końcu udało mi się stworzyć nowe urządzenie wirtualne przy użyciu obrazu „Google APIs” zamiast obrazu „Google Play”.

HPage
źródło
To zadziałało dla mnie.
Mark Choi
1

Odkryłem, że posiadanie działającego wystąpienia Dockera na moim komputerze (OSX) uniemożliwiło uruchomienie emulatora Androida (patrz Android Studio Nie można uruchomić AVD )

Wcześniej mój emulator wydawał się uruchamiać, a następnie kończył się niepowodzeniem przed wyświetleniem dowolnego okna urządzenia.

Musiałem także użyć polecenia „kill -9” (zgodnie z @MarkDubya), aby Android Studio połączyło się z urządzeniem wirtualnym.

stephendwolff
źródło
1

Sprawdź, czy nie masz opracowanych nieautoryzowanych, nieautoryzowanych urządzeń, które odpowiadają na ten sam błąd w Android Studio, sprawdź, czy emulator jest włączony za pomocą polecenia adb.

$ adb urządzeń

Lista załączonych urządzeń

emulator-5554 nieautoryzowany

Jeśli masz w ten sposób emulator, na który czeka Android Studio, zostanie autoryzowany i może to rozwiąże problem.

Autoryzowane urządzenia

Jest to błąd, który rozwiązałem w systemie Windows 10 z Android Studio 2.3.3

Javier Gutiérrez-Maturana Sánc
źródło
Przeczytaj: Jak napisać dobrą odpowiedź ? Właśnie odnoszę się do innego pytania.
Saurabh Bhandari
1

Nie przeczytałem wszystkich odpowiedzi. W każdym razie Zaakceptowany nie zadziałał dla mnie. To, co zrobiłem, to uaktualnienie studia Android do ostatniej stabilnej wersji, a następnie utworzenie nowego urządzenia wirtualnego. Wydaje mi się, że moje urządzenie wirtualne Nexus 5p straciło synchronizację ze środowiskiem Android Studio.

sivi
źródło
0

Miałem ten sam problem co Ty, studio android powiedziało, że mam już zainstalowany emulator 25.3.1

Usunąłem folder emulatora (znajduje się w folderze SDK)

Następnie ponownie zainstalowałem emulator 25.3.1 Sdk manager -> SDKtools -> zainstaluj emulator 25.3.1

Tym razem się udało :)

TK423
źródło
0

Pytanie jest zbyt stare, ale może być pomocne dla kogoś w przyszłości. Po przeszukaniu wielu rzeczy większość z nich nie działa dla mnie. WIĘC, jak na moją próbę To rozwiązanie działa dla mnie. Krótko mówiąc, odinstaluj i zainstaluj „Android SDK Tools” w Android SDK.

Kilka kroków do tego jest poniżej: -

  1. przejdź do „Menedżera SDK” w Android Studio
  2. przejdź do zakładki „Narzędzia SDK”
  3. Odinstaluj „Android SDK Tools” (oznacza usunięcie zaznaczenia (odznaczenie) przed „Android SDK Tools” i Zastosuj, a następnie OK)
  4. Zamknij i uruchom ponownie Android Studio
  5. Zainstaluj „Android SDK Tools” (czyli sprawdź przed „Android SDK Tools” i Zastosuj, a następnie OK)

Obraz ponownie odinstalować i zainstalować Android SDK Tools

Nitin Patel
źródło
to pytanie nie jest ani stare, ani twoja odpowiedź nie rozwiązuje problemu dla mnie ^^ Odinstalowałem całe Android Studio, wszystkie narzędzia SDK i inne rzeczy, przeinstalowałem ... nie zmienia się.
creativecreatorormaybenot
@creativecreatorormaybenot Wtedy możesz mieć problem z virtualbox (czyli maszyną wirtualną). Znajdź rozwiązanie tego problemu. Powodzenia!! W każdym razie dzięki…
Nitin Patel
0

Problem polega na tym, że nie ma połączenia między IDE a emulatorem.

W naszym przypadku - obniżyliśmy wersję Androida dla aplikacji, co frustrowało ideę w łączeniu emulatora.

Jeśli zainstalujemy Androida 25 i powiążemy do niego projekt, a także urządzenie AVD na Androidzie 25 - łączy i wprowadza zmiany w locie. Jeśli przejdziemy na system Android 14 i urządzenie z systemem Android 14 - tak nie jest.

Użyto Android Studio 2.3.

Aby grać z wersjami, które możesz ustawić w Gradle Scripts - build.gradle (Moduł: aplikacja):

android {
  compileSdkVersion 25
  defaultConfig {
    minSdkVersion 15
    targetSdkVersion 15
  }
}

W rezultacie aplikacja nie będzie działać na urządzeniu z Androidem 25 z komunikatem:

Instalacja nie powiodła się z komunikatem Nie można zakończyć sesji: -26: Pakiet ru.asv.test nowy docelowy zestaw SDK 15 nie obsługuje uprawnień w czasie wykonywania, ale stary docelowy zestaw SDK 25 tak. pakietu apk, jeśli jest obecny, a następnie zainstaluj go ponownie.

OSTRZEŻENIE: odinstalowanie spowoduje usunięcie danych aplikacji!

Zon
źródło
0

Natknąłem się też na ten problem i prawdopodobnie znalazłem rozwiązanie, które może pomóc. Kluczem jest najpierw uruchomienie AVD w emulatorze, a następnie uruchomienie aplikacji.

Oto kroki:

  1. Na ekranie Twoje urządzenia wirtualne wybierz właśnie utworzone urządzenie i kliknij opcję Uruchom to AVD w emulatorze
  2. Po uruchomieniu emulatora kliknij moduł aplikacji w oknie projektu, a następnie wybierz opcję Uruchom → Uruchom
  3. W oknie Wybierz miejsce docelowe wdrożenia wybierz emulator i kliknij przycisk OK.
Yan
źródło
0

W przypadku użytkowników systemu Linux korzystających z KVM i stojących przed tym problemem spróbuj ustawić opcję Grafika na urządzeniu wirtualnym z systemem Android na Softwarezamiast Automaticlub Hardware. Jak już wspomniano w tej odpowiedzi .

Mogę potwierdzić, że metoda działa dla Arch Linux, Ubuntu 16.04, a także Windows z zastrzeżoną kartą graficzną lub bez, używając Android Studio w wersji 2.3.1+

rajat
źródło
dzięki. mi to pasuje. got działa, ustawiając hw.gpu.mode = host w pliku config.ini
vsapiha
0

Pracuję na notebooku z systemem Windows 8. Rozwiązałem ten problem, zmieniając tryb z oszczędzania baterii na zrównoważony. Wcześniej emulator nie działał i widzę „Docelowe urządzenie do przejścia do trybu online”. Nie działa też Genymotion

delficki
źródło
Cześć Delphian może wspomnieć, gdzie mogę zmienić tryb oszczędzania baterii na tryb zrównoważony
fazil
Na Twoim notebooku w prawym dolnym rogu znajduje się ikona baterii, musisz ją kliknąć i sprawdzić, jaki jest Twój tryb oszczędzania energii.
Delphian
0

Miałem podobny problem podczas aktualizacji mojego studia Android. W jakiś sposób zmieniło to moją ścieżkę SDK. Właśnie zmieniłem go na zaktualizowaną ścieżkę SDK i zadziałało.

Android Studio -> Plik -> Ustawienia -> Wygląd i zachowanie -> Ustawienia systemowe -> Android SDK

Tutaj znajdziesz lokalizację Android SDK, po prostu kliknij link edytuj przed tym, przeglądaj i wybierz Android SDK z przeglądarki plików. Wybierz i kliknij Zastosuj.

Wybierz menedżera AVD i uruchom Emulator. To rozwiązanie zadziałało dla mnie.

swapnil
źródło
0

Przejdź do terminala i wpisz android avd. Wybierz swój AVD i wybierz „Edytuj”. Upewnij się, że nie widzisz No CPU/ABI system image available for this target- pojawi się czerwoną czcionką na dole. Zmień na targetdostępny lub pobierz obraz ABI. Czasami, jeśli tworzysz AVD z poziomu Android Studio, nie zapewnia to spełnienia tego wymagania.

Błąd AVD

zakishaheen
źródło
0

Żadne z powyższych rozwiązań nie zadziałało, więc musiałem wyczyścić zawartość

C:\Users\your_name\.android\avd

i ponownie utwórz emulowane urządzenie

Drahoš Maďar
źródło
0

Na koniec rozwiązuję ten problem, ustawiając właściwą ścieżkę eksportu w pliku bash:

export ANDROID_HOME=/Users/[username]/Library/Android/sdk
Indiana
źródło
0

Rozwiązanie tego problemu jest proste:

  • Przejdź do narzędzi SDK> Narzędzia SDK
  • Sprawdź emulator Androida i kliknij Zastosuj

a czasami możesz zobaczyć, że obok niego jest dostępna aktualizacja, po prostu musisz pozwolić jej zakończyć aktualizację

Hossam Hassan
źródło
0

Miałem ten problem dwa razy i próbowałem wszystkiego w tym wątku bez rezultatu, w końcu naprawiłem go zamykając emulator "BlueStacks".

Jeśli BlueStacks (i być może inne emulatory Androida) są uruchomione podczas uruchamiania aplikacji, domyślnie Android Studio tam instaluje aplikację, nawet jeśli nigdy nie wybrałem jej jako urządzenia w AVD Manager, to Android Studio czeka na niewłaściwe urządzenie "nadejdzie online".

wprowadź opis obrazu tutaj

Zamknięcie BlueStacks (lub dowolnego innego emulatora Androida) rozwiązało konflikt między urządzeniami.

Mam nadzieję, że te informacje komuś pomogą!

stramin
źródło
0

Jeszcze raz poczekaj chwilę, czasami przegapiłeś, że to faktycznie zadziałało, ale czujesz się naprawdę zestresowany i nie możesz się doczekać (byłem).

Nie jestem pewien, dlaczego naprawiłem ten sam problem, który wystąpił na moim Macbooku, jednak wybierz Nexus 5X API R jakoś zadziała. Lub poniżej

  1. Wyczyść dane: Narzędzia-> Otwórz Menedżera AVD i kliknij ▼ ikonę emu „Wyczyść dane”

  2. Cold Boots Now: Tools-> Open AVD Manager i kliknij ▼ emu „Cold Boots Now”

  3. Odinstaluj i ponownie zainstaluj emulator Androida z SDK: Narzędzia-> Otwórz Menedżera SDK-> Android SDK (menu po lewej stronie) -> Narzędzia SDK (na środku ekranu głównego), następnie kliknij „Emulator Androida” i ZASTOSUJ, a następnie ponownie kliknij „Android Emulator „zastosuj do ponownej instalacji, więc zakończ

Kazy
źródło