Ich habe ein Problem mit dem Emulator-5554, er sagt mir, dass er offline ist.
Wenn ich einen adb devices
von der Kommandozeile aus mache, heißt es
emulator-5554 offline
Auch nach einem Neustart versuche ich diesen Befehl und er sagt immer noch, dass er offline ist.
Wenn ich versuche, .apk-Dateien mit abd install <path>
von der Eingabeaufforderung aus in den Emulator zu installieren, wird mir mitgeteilt, dass es offline ist. Wenn ich ein anderes Gerät erstelle und dieses ausführe, dann versuche ich, die .apk-Dateien zu installieren Ich habe zu viele Geräte angeschlossen. Mit anderen Worten, ich kann meine .apk-Dateien nicht installieren.
Wie in aller Welt kann ich diesen verdammten Emulator-5554 loswerden? Ich habe gehört, dass bei einem Neustart alle Geräte gelöscht werden, aber das scheint nicht zu funktionieren. Es ist, als würde es beim Start meines Computers initialisiert. Hat jemand diese Ausgabe gefunden?
Vielen Dank
In einem solchen Fall können Sie alle folgenden Schritte ausführen, um sicherzustellen, dass Ihr Emulator wieder funktioniert:
Das ist es! Es dauert eine Weile und sollte Ihr Problem lösen.
Android erkennt Emulatoren, indem Sie Ports ab Port 5555 scannen.
Die Nummer, die Sie in der Liste adb devices
sehen (in Ihrem Fall 5554), ist um eins geringer als der Port, den adb für offen hält.
Wahrscheinlich läuft ein Prozess, der Port 5555 überwacht. Um das "Offline" -Gerät zu entfernen, müssen Sie die Anwendung suchen und schließen oder neu konfigurieren, um einen anderen Port zu überwachen.
(Siehe @Chris Knights Lösung für Mac/Linux)
Starten Sie Windows PowerShell:
Start -> Typ 'Powershell' eingeben -> ENTER drücken
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.
Per @Brigham , "Die Art und Weise, wie Android Emulatoren erkennt, besteht darin, dass Ports ab Port 5555 abgetastet werden." Die Portnummer wird hinter dem Namen des Emulators angezeigt (in diesem Fall 5656 und 5652). Die zu überprüfende Port-Nummer ist die Emulator-Port-Nummer plus 1. Also in diesem Fall: -
5656 + 1 = 5657
5652 + 1 = 5653
Mal sehen, welches Programm diese Ports verwendet. In diesem Fall beginnen die zu prüfenden Ports mit "565". Ich suche also nach benutzten Ports, beginnend mit 565. 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
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 für eine Überraschung. Es ist ADB. Wie bereits in anderen Antworten erwähnt, könnten es auch andere Programme sein.
kill 5944
aus, und ersetzen Sie 5944 durch die PID im vorherigen Befehl.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 startet neu (wie zuvor getötet) und erkennt keine falschen Emulatoren mehr.
In meinem Fall habe ich einen Prozess gefunden, durch den Adb nicht gut funktioniert.
Sie können versuchen, einen seltsamen Prozess zu beenden und zum Testen "Adb-Geräte" auszuführen.
Es hat für mich funktioniert:
töten Sie den Prozessnamen MONyog.exe
Ich habe dieses Problem gelöst, indem ich meine Befehlszeile öffnete:
adb-Kill-Server
aDB-Geräte
Nach dem Start erkennt ADB jetzt das Gerät/den Emulator.
Wenn Sie sich unter Linux oder Mac befinden und davon ausgehen, dass das Offline-Gerät 'emulator-5554' ist, können Sie Folgendes ausführen:
netstat -tulpn|grep 5554
Was ergibt folgende Ausgabe:
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 (von der Sie wahrscheinlich abweichen werden) immer noch auf Port 5554 überwacht wird. Sie können diesen Prozess jetzt beenden mit:
Sudo kill -9 4848
und das Geister-Offline-Gerät geht nicht mehr!
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 war in CPU/ABI System-Image-Konfiguration des Android Virtual Device Manager. Auf meinem Windows10-Computeremulator mit dem Systemimagex86
ist immer offline, wo der Emulator mit dem Systemimagex86_64
wie erwartet funktioniert. Sei dir dessen nur bewusst
Aus der AVD Manager-Liste im Aktions-Dropdown-Menü: Cold Boot Now
startet es ohne alle Schmerzen von oben.
Ich habe dieses Problem endlich gelöst, Ich musste zu den Entwickleroptionen aus den Einstellungen im Emulator gehen, Dann ein wenig nach unten scrollen, das USB-Debugging aktivieren . Sofort wurde mein Gerät online erkannt und ich hatte keine Probleme mehr mit diesem Problem. Ich habe den Neustart von Android Studio und Emulator ausprobiert und den adb -Prozess getötet, aber das hat nicht funktioniert.
Ich löste das Problem, indem ich mich entschied, nie etwas mit Xamarin, Android, adb, Google, AVD oder Emulatoren jeglicher Art zu tun zu haben, da dieses ganze Chaos nur gerecht wird ein dampfender Haufen ungeprüfter, von Fehlern befallener Exkremente
Die Option "Benutzerdaten löschen" löste schließlich mein Problem. Löschen Sie die Benutzerdaten jedes Mal, wenn Sie den Emulator starten. Das funktioniert immer bei mir! Ich benutze Windows 8 x64, Eclipse
USB Debugging in deinem Emulator aktivieren
Das ist es geniessen
Gehen Sie zum Windows Task Manager und beenden Sie den Prozess "adb.exe". Es kann mehr als 1 Instanzen desselben Prozesses geben. Stellen Sie sicher, dass alle beendet werden.
Einfach schreiben
adb -e reboot
und sei glücklich mit adb))
Versuchen Sie im AVD Manager die Option "Cold Boot Now" in der Dropdown-Liste. Es hat für mich funktioniert!
Haben Sie Bluestacks installiert? In diesem Fall wird durch das Ausführen der Hintergrundprozesse das Offline-Gerät "emulator-5554" erstellt.
Gehen Sie zum Task-Manager und beenden Sie alle Prozesse mit der Beschreibung von "Bluestacks".
Ich fand, dass die Emulationsumgebung als "offline" erscheint, wenn die Adb-Revision, die ich verwende, nicht aktuell war. Ich habe meine Pfade richtig aktualisiert (und die alte Adb-Version gelöscht) und bei "Adb-Kill-Server", "Adb-Geräte" wurde die Emulationsumgebung nicht mehr als "Offline" angezeigt.
Ich konnte "adb Shell" sofort danach verwenden.
Wenn der Emulator bereits geöffnet ist oder ausgeführt wird, werden Sie offline angezeigt. 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 belegt angezeigt wird), und anschließend können Sie Ihre Anwendung ausführen. Hoffe das hilft jemandem.
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 des Benutzers).
Stellen Sie sicher, dass Ihre ADB-Integration aktiviert ist. Gehen Sie zu Tools> 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 für mich funktioniert .. viel glück !!
Ich habe alles versucht, aber nur dieser funktioniert für meinen Fall: Verwenden Sie den SDK-Manager und installieren Sie das Systemabbild neu . Android Studio, klicken Sie auf Konfigurieren, SDK-Manager, Standalone-SDK-Manager starten, Überprüfen Sie alle "Google-APIs" Intel x86 * System Image "," Intel x86 Atom * System Image "und installieren. Starten Sie dann Android Studio erneut.
Möglicherweise müssen Sie das virtuelle Gerät mit AVD Manager neu konfigurieren und löschen. Vergewissern Sie sich, dass Sie die x86-Version auswählen.
Versuche dies ...
Schließen Sie den Emulator, falls er ausgeführt wird.
Starten Sie den Emulator erneut und warten Sie, bis er online ist.
geben Sie Befehl in der Befehlszeile ein und drücken Sie die EINGABETASTE: adb tcpip 5555
(Stellen Sie sicher, dass jeweils nur ein Emulator ausgeführt wird.)
adb -s emulator-5555 emu töten
Drücken Sie die Eingabetaste ....
Erledigt.
prüfe geräte mit dem befehl "adb devices" in cmd.
Ich füge hier eine weitere mögliche Lösung hinzu, die in meinem Fall funktioniert hat.
Ich fand heraus, dass ein Prozess namens SpiceWorksEventProcessor lief, der den Port 5555 anbot und anscheinend von adb als Emulator gelesen wurde. Diesen Prozess zu beenden war das, was mir endlich das hartnäckige Emulatorgerät beseitigte.
Ich bin nicht sicher, was dieses Ding ist, aber wenn Sie es haben, könnte es die Ursache Ihres Offline-Emulators sein.
Prost
auf Linux oder Mac wird der Port, der blockiert ist, die Emulator-ID + 1, also 5555, also:
Sudo lsof -i :5555
zeigt Ihnen die PID des Prozesses, der den Port belegt (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
Ich hatte das gleiche Problem mit meinem virtuellen Gerät. Das Problem ist auf das Oreo-Image der virtuellen Geräte zurückzuführen, auf denen 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
In meinem Fall habe ich mit 'Cold Boot Now' angefangen und auf Message geklickt, um die Verbindung zuzulassen.
In meinem Fall habe ich "GPU Host" deaktiviert und es hat funktioniert :)
In MAC können Sie das Activity Monitor-Dienstprogramm verwenden, da im Gegensatz zu Linux der Befehl netstat -tulpn in MAC nicht verwendet werden kann. Suchen Sie nach der laufenden Instanz des Emulators, normalerweise qemu-system-i386 . Töte diese Instanz und du wirst keinen Ghost Emulator sehen.
Die einfachste Möglichkeit, das Aktivitätsmonitor-Dienstprogramm zu nutzen, ist die Spotlight-Suche. drücken Sie einfach cmd-space und geben Sie Activity Monitor ein.
Löschen Sie einfach das erstellte Zahnrad und erstellen Sie es erneut. Es wird funktionieren.
In meinem Fall bestand die Ursache darin, dass ich ein VM mit Android-x86 im Inneren fortgesetzt hatte. Durch einen Neustart des VM mit Android-x86 und einen Neustart des ADB-Servers wurde das Problem behoben.
Siehe Emulator-5554 für ADB-Geräte nicht autorisiert . Auf dem API 29-Emulator führe ich den Befehl adb devices
aus und erhalte die Nachricht emulator-5554 unauthorized
. Dann habe ich ein neues avd
Gerät aus Google APIs
Image erstellt (in meinem Fall Q, x86), nicht aus Google Play
.
Das liegt daran, dass auf Ihrem Computer ein anderes virtuelles Gerät installiert ist. Es könnte sich um Bluestacks handeln da ich auch ein ähnliches Problem hatte. Ich habe Bluestacks deinstalliert und dann .__ überprüft. adb devices
Es lief dann gut.
öffne deinen Emulator,
einstellung -> über emuliertes gerät -> mehrmals auf Build number klicken -> entwickleroptionen öffnen -> usb debuggin öffnen
Alle obigen Antworten haben nicht geholfen, und dann habe ich den Emulator gelöscht und neu erstellt. Alles funktionierte einwandfrei
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 funktioniert hat, war die Aktualisierung des Emulators auf den neuesten Stand (Version 28).
Löschen Sie die Benutzerdaten einfach aus dem AVD Manager und geben Sie dann adb kill-server und die adb-Geräte ein Das Löschen von Daten spart außerdem viel Speicherplatz im System.