Android Emulator-5554 offline

134

Ich habe ein Problem mit Emulator-5554, es sagt mir immer wieder, dass es offline ist.

Wenn ich ein adb devicesüber die Kommandozeile mache , heißt es

emulator-5554 offline

Selbst nach einem Neustart versuche ich diesen Befehl und er sagt immer noch, dass er offline ist.

Das Problem ist, wenn ich versuche, APK-Dateien über die abd install <path>Eingabeaufforderung auf dem Emulator zu installieren , wird mir mitgeteilt , dass es offline ist. Wenn ich ein anderes Gerät erstelle und dieses ausführe, versuche ich, die APK-Dateien zu installieren zu viele Geräte angeschlossen haben. Mit anderen Worten, ich kann meine APK-Dateien nicht installieren.

Wie um alles in der Welt kann ich diesen verdammten Emulator-5554 loswerden? Ich habe gehört, dass bei einem Neustart alle Geräte gelöscht werden sollten, aber das scheint nicht zu funktionieren. Es ist, als würde es beim Start meines Computers initialisiert. Ist jemand auf dieses Problem gestoßen?

Vielen Dank

hanesjw
quelle
3
Um festzustellen, ob das Problem der Emulator ist, versuchen Sie Folgendes: 1. Öffnen Sie einen Emulator. 2. Öffnen Sie einen anderen Emulator. 3. adb devicesum die Namen der Emulatoren zu erhalten. 4. Versuchen Sie, die APK zu installieren, indem Sie Folgendes ausführen: adb -s NAME_OF_DEVICE install file.apk5. Sagen Sie uns, was passiert.
Cristian
Ich werde es versuchen, wenn ich nach Hause komme (gerade bei der Arbeit). Ich wusste nicht, dass Sie das Gerät angeben können, auf dem Sie installieren möchten. Das sollte wirklich hilfreich sein. Ich werde in ein paar Stunden aktualisieren. danke für die Antwort!
Hanesjw
Nochmals vielen Dank für den Kommentar. Ich konnte die apk auf dem Emulator installieren und dabei das tun, was du gesagt hast. Das nicht verbundene Gerät bleibt weiterhin auf meiner Geräteliste, aber ich wollte nur diese APK-Datei installieren. Nochmals vielen Dank, es hat funktioniert!
Hanesjw
Ich denke, diese Frage hängt zusammen mit: stackoverflow.com/questions/6013624/… Versuchen Sie, sich diesen Thread anzusehen.
Efeu
Dies beantwortet Ihre Frage nicht, könnte aber Ihr Problem lösen - adb -dspezifizierte USB-Geräte anstelle von Emulatoren, adb -eEmulatoren anstelle von USB-Geräten, und adb -s NAMEich denke, kann verwendet werden, um spezifisch anzugeben, welches Gerät Sie möchten, obwohl mir nicht klar ist, ob es das letzte ist man arbeitet immer so wie man denkt.
Erhannis

Antworten:

62

In einem solchen Fall können Sie alle folgenden Schritte ausführen, um sicherzustellen, dass Ihr Emulator wieder funktioniert:

  1. Gehen Sie zu cmd und geben Sie ein adb kill-server
  2. Gehen Sie zum Task-Manager und suchen Sie adbin Prozessen. Wenn Sie eine finden, klicken Sie mit der rechten Maustaste darauf und klicken Sie auf Prozessbaum beenden.
  3. Gehen Sie in Eclipse zu Fenster> Android Virtual Device Manager , klicken Sie auf die AVD, die Sie starten möchten, klicken Sie auf Start und deaktivieren Sie " Aus Snapshot starten" und klicken Sie dann auf Start.

Das ist es! Es wird eine Weile dauern und sollte Ihr Problem lösen.

Kshitij Mittal
quelle
Dies funktionierte auch für mich (das Töten von ADB löste mein Problem in keiner Situation).
Booger
Sobald ich diesen Prozessbaum beendet habe, wurde die Liste der adb laufenden Geräte gelöscht :) es hat funktioniert. <3 danke
DeathRs
9
In Android Studio funktioniert es für mich, die Startoption des virtuellen Geräts von Schnellstart auf Kaltstart zu ändern.
Eldes
Wo finde ich die Einstellung "Aus Snapshot starten" im Android-Geräte-Manager, wenn ich sie in Visual Studio 2019 ausführe?
Jacktric
105

1. Einfach "Daten löschen", um dieses Problem zu beheben.

Geben Sie hier die Bildbeschreibung ein

2. Wenn es nicht funktioniert, gehen Sie zum emulierten Gerät und aktivieren Sie die Entwickleroptionen> aktivieren Sie das USB-Debugging

Xakiru
quelle
1
Das Deinstallieren der App vom Emulator hat den Trick für mich getan. Aber es ist die gleiche Idee wie das
Löschen
Dies half bei der Kombination mit "Cold Boot now" direkt unter "Wipe Data".
S. Gissel
tks so viel, du hast meinen Tag gerettet
Manh Nguyen
24

Android erkennt Emulatoren, indem es Ports ab Port 5555 scannt.

Die Nummer, die Sie in der adb devicesListe sehen (in Ihrem Fall 5554), ist eins weniger als der Port, den adb offen findet.

Wahrscheinlich wird ein Prozess ausgeführt, der Port 5555 überwacht. Um das "Offline" -Gerät zu entfernen, müssen Sie diese Anwendung finden und schließen oder neu konfigurieren, um einen anderen Port abzuhören.

Brigham
quelle
Die Frage betraf ADB. ADB-Portnummern beginnen bei 5555.
Brigham
2
"Wahrscheinlich wird ein Prozess ausgeführt, der Port 5555 überwacht." Dies hat wirklich geholfen, da wir einen anderen Server an diesem Port betrieben und ihn völlig vergessen hatten!
Abhijit
Es begann immer auf 5554 - auf allen meinen PCs (zu Hause und auf der Arbeit) ... und es ist immer AUCH (5554, 5556, 5558, 5560, ...), wenn mehrere Emulatoren verwendet werden.
Phantômaxx
Frank, warum denkst du, sind sie alle gleichmäßig? Dies liegt daran, dass Android auch die ungeradzahligen Ports dazwischen verwendet.
Brigham
Das hat mir auch geholfen! Ich hatte einen offenen Port auf 5555, der als Emulator 5554 (?) Angezeigt wird. Jeder, der bereits versucht hat, nicht funktionierende Antworten im Stil "Server neu starten" zu erstellen, sollte fortfahren und seinen lokalen Host portieren. Ich ging davon aus, dass ADB USB-Geräte direkter verwenden würde, nicht auf meine lokalen Ports schauen und davon ausgehen würde, dass dort ein Emulator vorhanden ist, ohne auch nur eine Protokollprüfung durchzuführen.
MVR
22

Diese Lösung ist für Windows.

(Siehe @Chris Knights Lösung für Mac / Linux )

  1. Starten Sie Windows Powershell:

    Start -> geben Sie 'Powershell' ein -> Drücken Sie ENTER

  2. Führen Sie den folgenden Befehl aus: adb Geräte


PS C:\Users\CJBS>adb devices
List of devices attached
emulator-5656   host
emulator-5652   host
12b80FF443      device

In diesem Fall ist 12b80FF443 mein physisches Gerät, und die Emulator- * -Einträge sind Müll.

  1. Per @Brigham : "Die Art und Weise, wie Android Emulatoren erkennt, besteht darin, Ports ab Port 5555 zu scannen." Die Portnummer wird nach dem Emulatornamen angegeben (in diesem Fall 5656 und 5652). Die zu überprüfende Portnummer ist die Emulator-Portnummer plus 1. In diesem Fall also: -

    5656 + 1 = 5657

    5652 + 1 = 5653

    Mal sehen, welches Programm diese Ports verwendet. In diesem Fall beginnen die zu überprüfenden Ports mit "565". Also werde ich ab 565 nach verwendeten Ports suchen. Ausführen: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
  1. Das letzte Feld in dieser Ausgabe ist die PID (Prozess-ID) - in diesem Fall die PID 5944 für diese beiden Ports. Mal sehen, was diese Prozess-ID ist. Ausführen : tasklist /v | Select-String 5944. Ersetzen Sie 5944 durch die Ausgabe des vorherigen Befehls:

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

Was fuer eine Ueberraschung. Es ist ADB. Wie aus anderen Antworten hervorgeht, können es auch andere Programme sein.

  1. Töten Sie jetzt einfach diese Prozess-ID. Ausführen kill 5944und 5944 durch die PID im vorherigen Befehl ersetzen.

PS C:\Users\CJBS> kill 5944
  1. Führen Sie den folgenden Befehl erneut aus, um zu bestätigen, dass der falsche Emulator nicht mehr vorhanden ist: adb Geräte

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 startet neu (wie zuvor getötet) und erkennt keine gefälschten Emulatoren mehr.

CJBS
quelle
9

Ich habe dieses Problem endlich gelöst. Ich musste zu den Entwickleroptionen in den Einstellungen im Emulator gehen , dann ein wenig nach unten scrollen und das USB-Debugging aktivieren. Sofort wurde mein Gerät online erkannt und ich hatte dieses Problem nicht mehr. Ich habe versucht , Android Studio und Emulator neu zu starten , zu töten adb Prozess, aber die hat nicht funktioniert.

Shamsul Arefin Sajib
quelle
1
du bist ein Held!
Felipe Castilhos
Hallo @Shamsul, können Sie bitte beschreiben, wie Sie über die Einstellungen im Emulator auf die Entwickleroptionen zugreifen können? Ich nehme an, Sie beziehen sich auf AVD Manager in Android Studio. Ich habe das gleiche Problem wie in diesem Thread beschrieben und habe alle vorgeschlagenen Dinge außer Ihrem Vorschlag ausprobiert. Ich sehe keine Entwickleroptionen für den Emulator im AVD Manager.
Eddie
Hallo Eddie, das übliche Verfahren zum Aktivieren der Entwickleroption ist für Emulator- und reale Geräte dasselbe. Suchen Sie die Build-Nummer in den Software-Informationen, tippen Sie wiederholt darauf. Nach etwa 7 bis 10 Tippen sehen Sie, dass die Entwickleroption aktiviert wurde.
Shamsul Arefin Sajib
8

Wenn Sie unter Linux oder Mac arbeiten und davon ausgehen, dass das Offline-Gerät "emulator-5554" ist, können Sie Folgendes ausführen:

netstat -tulpn|grep 5554

Was die folgende Ausgabe ergibt:

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

Dies sagt mir, dass die Prozess-ID 4848 (Ihre wird wahrscheinlich anders sein) immer noch Port 5554 abhört. Sie können diesen Prozess jetzt beenden mit:

sudo kill -9 4848

und das Ghost Offline-Gerät ist nicht mehr!

Chris Knight
quelle
8

Versuchen Sie im AVD-Manager die Option "Jetzt kalt starten" in der Dropdown-Liste. Es hat bei mir funktioniert!

Paulo Taylor
quelle
Dies ist wahrscheinlich das erste, was die Leute versuchen sollten, bevor sie sich mit diesen
überkomplizierten
7

In meinem Fall habe ich einen Prozess gefunden, bei dem adb nicht gut funktioniert.
Sie können versuchen, einen seltsamen Prozess abzubrechen und "ADB-Geräte" zum Testen auszuführen.

Es hat bei mir funktioniert:
Töte den Prozessnamen MONyog.exe

Ryan Ou
quelle
7

Ich habe dies gelöst, indem ich meine Eingabeaufforderung geöffnet habe:

adb kill-server

ADB-Geräte

Nach dem Start erkennt ADB nun das Gerät / den Emulator.

DagW
quelle
7

Ich hatte auch das gleiche Problem. Ich habe alle hier beschriebenen Lösungen ausprobiert, aber sie haben mir nicht geholfen. Dann habe ich alle Emulatoren im Android Virtual Device Manager entfernt und neue erstellt. Das Problem lag in der CPU / ABI- Systemabbildkonfiguration des Android Virtual Device Managers . Auf meinem Windows10-Computer ist der Emulator mit Systemabbild x86immer offline, während der Emulator mit Systemabbild x86_64wie erwartet einwandfrei funktioniert. Sei dir dessen einfach bewusst

Volodymyr
quelle
In meinem Fall, x86 System Images Windows 10, muss ich nur alle Emulatoren löschen und dann neu erstellen
Dika
1
Vielen Dank, ich habe so viel Zeit damit verbracht, dies zum Laufen zu bringen, und das war mein Problem
Brendan Samek
Gleich hier, aber unter Windows 7.
Viktor Brešan
5

Einfach schreiben

adb -e reboot

und sei glücklich mit adb))

oleg gutov
quelle
Dies weist ADB an, den Emulator neu zu starten. Es kann nicht funktionieren, wenn es offline markiert ist.
Shkschneider
funktioniert, wenn Sie zuvor ausgeführt haben, rm -Rf ~/.androidum Offline-Geräte zu bereinigen. Bester Befehl und nur einer, um mein Problem zu lösen. Nein kill-serveroder start-serverhat den Trick gemacht.
Victor R. Oliveira
4

Aktivieren Sie das USB-Debugging in Ihrem Emulator

  1. Einstellungen> Über das Telefon> Build-Nummer> Tippen Sie siebenmal darauf, um Entwickler zu werden.
  2. Einstellungen> Entwickleroptionen> USB-Debugging.

Das ist es zu genießen

Dhaval Jivani
quelle
Das erneute Aktivieren des USB-Debuggens hat mir geholfen (Aus- und Einschalten)
Maxim Mazurok
4

Aus der AVD-Manager-Liste in der Dropdown-Liste Aktionen: Jetzt kalt starten

startet es ohne alle Schmerzen oben neu.

Alp Altunel
quelle
3

Die Option "Benutzerdaten löschen" löste endlich mein Problem. Löschen Sie einfach die Benutzerdaten jedes Mal, wenn Sie den Emulator starten. Das funktioniert bei mir immer! Ich benutze Windows 8 x 64, Eclipse

Sunil Kumar
quelle
versuchte alles oben, arbeitete aber mit dem Löschen von Wipe-Benutzerdaten allein. Danke
Sai Ram
@SaiRam, du hast nicht alles oben versucht, weil dieser Hinweis in mehreren Antworten wiederholt wurde. Auch Cold Boot Nowhilft.
CoolMind
@SaiRam, sorry. :) Vielen Dank.
CoolMind
2

Haben Sie versucht, Ihre AVD zu löschen und neu zu erstellen? Sie können die AVD-Dateien manuell löschen, indem Sie in das Verzeichnis wechseln, in dem sie gespeichert sind (im Unterverzeichnis /.android/avd Ihres Benutzers).

JRL
quelle
Hallo, danke für die Antwort. Das habe ich eigentlich versucht. Noch da. Ich bin versucht, einfach alles neu zu installieren.
Hanesjw
2

Gehen Sie zum Windows Task Manager und beenden Sie den Prozess "adb.exe". Es kann mehr als eine Instanz desselben Prozesses geben. Stellen Sie sicher, dass alle beendet sind.

Rohit
quelle
1
Wie wäre es mit "adb kill-server"?
DagW
2

Haben Sie Bluestacks installiert? Wenn Sie dies tun, wird durch die von ihm ausgeführten Hintergrundprozesse das Offline-Gerät "emulator-5554" erstellt.

Gehen Sie zum Task-Manager und beenden Sie alle Prozesse mit der Beschreibung von "Bluestacks".

cnfw
quelle
2

Unter Linux oder Mac wird der blockierte Port Emulator-ID + 1, also 5555, also: Zeigt die PID sudo lsof -i :5555 des Prozesses an, der den Port nimmt (sollte die zweite Spalte sein), um ihn zu beenden: sudo lsof -i :5555 | awk '{print $2}' | xargs kill

dann werden adb (gefälschte) Geräte nicht mehr in der Liste angezeigt

Micheal Kris
quelle
2

In meinem Fall arbeitete der Emulator mit Oreo und niedriger, aber nicht mit Pie, und alles, was ich versuchte, schien keine Wirkung zu haben. Was schließlich funktionierte, war die Aktualisierung des Emulators auf den neuesten Stand (Version 28).

PulseJet
quelle
ich auch ... ziemlich nervig
Analizer
2

In meinem Fall habe ich in "Jetzt kalt starten" gestartet und auf "Nachricht" geklickt, um die Verbindung zuzulassen.

Marcus Menezes
quelle
2

öffne deinen Emulator,

Einstellung -> Informationen zum emulierten Gerät -> Klicken Sie wiederholt auf Nummer erstellen -> Entwickleroptionen öffnen -> USB-Debuggin öffnen

zhiqiu lin
quelle
Das Problem ist, dass der Emulator nur einen schwarzen Bildschirm hat. Sie können dies nur tun, wenn Sie auf Einstellungen zugreifen können.
Jeanne vie
1

Ich habe festgestellt, dass die Emulationsumgebung als "offline" angezeigt wird, wenn die von mir verwendete ADB-Revision nicht aktuell war. Ich habe meine Pfade ordnungsgemäß aktualisiert (und die alte ADB-Version gelöscht) und bei "ADB Kill-Server", "ADB-Geräten" wurde die Emulationsumgebung nicht mehr als "Offline" angezeigt.

Danach konnte ich sofort "adb shell" verwenden.

Keitai Otaku
quelle
1

Versuche dies ...

  1. Schließen Sie den Emulator, wenn er ausgeführt wird.

  2. Starten Sie den Emulator erneut und warten Sie, bis er online ist.

  3. Geben Sie Command in der Eingabeaufforderung ein und drücken Sie die ENTER-Taste: adb tcpip 5555

(Stellen Sie sicher, dass jeweils nur ein Emulator ausgeführt wird.)

  1. adb -s emulator-5555 emu kill

  2. Drücken Sie die Eingabetaste ....

  3. Getan.

  4. Überprüfen Sie die Geräte mit dem Befehl "adb Geräte" in cmd.

WonderSoftwares
quelle
1

Wenn der Emulator bereits geöffnet ist oder ausgeführt wird, wird angezeigt, dass er offline ist. Sie können die Befehlszeile (Ubuntu) überprüfen und Folgendes ausführen:

 adb devices

Sie müssen Ihren Emulator offline sehen, Sie müssen die laufende Instanz des Emulators schließen (da der Port als ausgelastet angezeigt wird) und danach können Sie Ihre Anwendung ausführen. Hoffe das hilft jemandem.

G Jeny Ramirez
quelle
1

Ich habe alles versucht, aber nur dieses funktioniert für meinen Fall: Verwenden Sie den SDK-Manager und installieren Sie das System-Image neu. Klicken Sie in Android Studio auf Konfigurieren, SDK-Manager, Starten Sie den eigenständigen SDK-Manager, überprüfen Sie alle "Google APIs Intel x86 * System Image", "Intel x86 Atom * System Image" und installieren Sie. Starten Sie dann Android Studio neu.

Möglicherweise müssen Sie das virtuelle Gerät mit AVD Manager neu konfigurieren und löschen. Stellen Sie sicher, dass Sie die x86-Version auswählen.

EricF
quelle
Für mich war es die x86_64-Version, die funktioniert, die anderen haben nicht funktioniert
hiddeneyes02
1

Stellen Sie sicher, dass Ihre ADB-Integration aktiviert ist. Gehen Sie zu Extras> Android> ADB-Integration aktivieren.

Wenn dies nicht aktiviert ist, aktivieren Sie diese Option, schließen Sie Ihr virtuelles Gerät und öffnen Sie es erneut. das hat bei mir geklappt .. viel glück !!

Leo Santana
quelle
1

Ich hatte das gleiche Problem mit meinem virtuellen Gerät. Das Problem ist auf das Oreo-Image der virtuellen Geräte zurückzuführen, in die der Play Store integriert ist. Um dieses Problem zu lösen, habe ich ein neues Gerät ohne integrierten Play Store installiert und alles war in Ordnung.

Hoffe es hilft, Tschüss

Furdu
quelle
Was für eine seltsame Situation, aber sie hat sie auch für mich behoben.
Reidisaki
0

Einfach löschen und Zahnrad avd erneut erstellen. Es wird funktionieren.

Gagandeep Singh
quelle
0

In meinem Fall war die Ursache, dass ich eine VM mit Android-x86 wieder aufgenommen hatte. Ein Neustart der VM mit Android-x86 und ein Neustart des ADB-Servers haben das Problem behoben.

Ullrich
quelle
0

Dies liegt daran, dass auf Ihrem Computer ein anderes virtuelles Gerät installiert ist. Es könnten Bluestacks sein, da ich auch mit einem ähnlichen Problem konfrontiert war. Ich habe Bluestacks deinstalliert und dann überprüft, ob adb devices es gut lief.

Aditya Harsh
quelle