Emulatore Android-5554 offline


134

Sto riscontrando un problema con emulator-5554, continua a dirmi che è offline.

Quando faccio un adb devicesdalla riga di comando, dice

emulator-5554 offline

Anche dopo un nuovo riavvio, provo quel comando e dice ancora che è offline.

Il problema è quando provo a installare i file .apk nell'emulatore usando abd install <path>dal prompt dei comandi, mi dice che è offline, se creo un altro dispositivo ed eseguo quello, quindi provo a installare i file .apk, dice che hanno troppi dispositivi collegati. Quindi, in altre parole, non riesco a installare i miei file .apk.

Come posso liberarmi di quel dannato emulatore-5554? Ho sentito che se fai un riavvio, dovrebbe cancellare tutti i dispositivi, ma non sembra funzionare. È come se si inizializzasse all'avvio del mio computer. Qualcuno ha riscontrato questo problema?

Grazie


3
Per determinare se il problema è l'emulatore, provare questo: 1. Aprire un emulatore. 2. Apri un altro emulatore. 3. adb devicesper ottenere i nomi degli emulatori. 4. Prova a installare l'APK eseguendo: adb -s NAME_OF_DEVICE install file.apk5. Dicci cosa succede.
Cristian,

Lo proverò quando torno a casa (al lavoro in questo momento), non sapevo che potessi specificare il dispositivo su cui vuoi installare. Questo dovrebbe essere davvero utile. Lo aggiornerò tra poche ore. Grazie per la risposta!
Hanesjw,

Grazie ancora per il commento. Sono stato in grado di installare l'apk sull'emulatore facendo quello che hai detto. Quello disconnesso rimane ancora nell'elenco dei miei dispositivi, ma tutto quello che volevo fare era installare quel .apk. Grazie ancora, ha funzionato!
Hanesjw,

Penso che questa domanda sia collegata a: stackoverflow.com/questions/6013624/… Prova a dare un'occhiata a questa discussione.
edera,

Questo non risponde alla tua domanda, ma potrebbe risolvere il tuo problema: adb -ddispositivi USB specificati anziché emulatori, adb -eemulatori anziché dispositivi USB, e adb -s NAMEpenso che possano essere usati per specificare specificamente quale dispositivo vuoi, anche se non sono chiaro se l'ultimo uno funziona sempre come pensi.
Erhannis,

Risposte:


62

In tal caso, puoi fare quanto segue per essere certo che il tuo emulatore ricomincerà a funzionare:

  1. Vai a cmd e digita adb kill-server
  2. Vai a Task Manager e trova adbnei processi. Se ne trovi uno, fai clic destro su di esso e fai clic sull'albero del processo finale.
  3. In eclissi, vai a Finestra> Gestione dispositivi virtuali Android , fai clic sull'AVD che desideri avviare, fai clic su Start e deseleziona " Avvia da istantanea ", quindi fai clic su Avvia .

Questo è tutto! Ci vorrà del tempo e dovrebbe risolvere il tuo problema.


Questo ha funzionato anche per me (uccidere ADB non ha risolto il mio problema, in nessuna situazione).
Booger,

non appena ho ucciso quell'albero del processo, l'elenco dei dispositivi in ​​esecuzione adb si è cancellato :) ha funzionato. <3 grazie
DeathRs

9
In Android Studio, cambiare l'opzione di avvio del dispositivo virtuale da Quick Boot a Cold Boot funziona per me.
eldes

Dove posso trovare l'impostazione "Avvia da istantanea" in Gestione dispositivi Android quando eseguo da Visual Studio 2019?
jacktric,

106

1 Basta "cancellare i dati" per risolvere questo problema.

inserisci qui la descrizione dell'immagine

2 Se non funziona, vai al dispositivo emulato e abilita le opzioni sviluppatore> abilita debug USB


1
Disinstallare l'app dall'emulatore ha fatto il trucco per me. Ma è la stessa idea di cancellare i dati
James

1
Ciò ha contribuito alla combinazione con "Cold Boot now" appena sotto "Wipe Data".
S. Gissel,

Grazie mille, mi hai salvato la giornata
Manh Nguyen,

24

Il modo in cui Android rileva gli emulatori è la scansione delle porte a partire dalla porta 5555.

Il numero che vedi adb devicesnell'elenco (nel tuo caso 5554) sarà uno in meno rispetto alla porta che adb sta trovando aperta.

Probabilmente hai un processo in esecuzione che è in ascolto sulla porta 5555. Per eliminare il dispositivo "offline", dovrai trovare l'applicazione e chiuderla o riconfigurarla per ascoltare un'altra porta.


La domanda riguardava ADB. I numeri di porta ADB iniziano alle 5555.
Brigham,

2
"Probabilmente hai un processo in esecuzione che è in ascolto sulla porta 5555". Questo ci ha aiutato molto perché stavamo eseguendo un altro server su quella porta e ce ne eravamo completamente dimenticati!
abhijit,

È sempre iniziato su 5554 - su tutti i miei PC (domestici e di lavoro) ... ed è sempre ANCHE (5554, 5556, 5558, 5560, ...) durante l'utilizzo di più emulatori.
Phantômaxx,

Frank, perché pensi che siano tutti pari? È perché Android utilizza anche le porte con numeri dispari in mezzo.
Brigham,

Anche questo mi ha aiutato! Avevo una porta aperta su 5555 che si presenta come emulatore 5554 (?). Tutti coloro che hanno già provato le risposte non funzionanti "riavviare il server" dovrebbero andare avanti e portcancan il loro host locale. Supponevo che ADB avrebbe usato i dispositivi USB più direttamente, senza guardare le mie porte locali e fare ipotesi sul fatto che lì ci fosse un emulatore senza nemmeno fare un controllo del protocollo.
mvr,

22

Questa soluzione è per Windows.

(Vedi la soluzione di @Chris Knight per Mac / Linux )

  1. Avviare Windows Powershell:

    Start -> digitare 'powershell' -> Premere INVIO

  2. Esegui il seguente comando: dispositivi adb


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

In questo caso, 12b80FF443 è il mio dispositivo fisico e le voci dell'emulatore * sono immondizie.

  1. Per @Brigham , "Il modo in cui Android rileva gli emulatori è la scansione delle porte a partire dalla porta 5555.". Il numero di porta è indicato dopo il nome dell'emulatore (in questo caso 5656 e 5652). Il numero di porta da verificare è il numero di porta dell'emulatore più 1. Quindi in questo caso: -

    5656 + 1 = 5657

    5652 + 1 = 5653

    Vediamo quindi quale programma utilizza queste porte. In questo caso, le porte da controllare iniziano con "565". Quindi cercherò le porte in uso a partire da 565. Eseguire: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. Il campo finale in questo output è il PID (Process ID) - in questo caso è PID 5944 per entrambe queste due porte. Quindi vediamo qual è questo ID processo. Esegui: tasklist /v | Select-String 5944. Sostituisci 5944 con l'output del comando precedente:

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

Che sorpresa. È ADB. Come notato da altre risposte, potrebbero essere anche altri programmi.

  1. Ora, basta uccidere questo ID processo. Eseguire kill 5944, sostituendo 5944 con il PID nel comando precedente.

PS C:\Users\CJBS> kill 5944
  1. Per confermare che l'emulatore spurie è sparito, rieseguire il comando seguente: adb devices

PS C:\Users\CJBS>adb devices
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
12b80FF443      device

L'ADB si riavvia (come è stato precedentemente ucciso) e non rileva più emulatori falsi.


9

Alla fine ho risolto questo problema, ho dovuto andare alle Opzioni sviluppatore dalle Impostazioni del emulatore , quindi scorrere verso il basso un po ', acceso il debug USB. Immediatamente il mio dispositivo è stato riconosciuto online e non ho più affrontato quel problema. Ho provato a riavviare Android Studio ed emulatore , uccidendo il processo adb , ma quelli non hanno funzionato.


1
sei un eroe!
Felipe Castilhos,

Ciao @Shamsul puoi descrivere come accedere alle Opzioni sviluppatore dalle Impostazioni, nell'Emulatore? Presumo che ti riferisci ad AVD Manager, in Android Studio. Ho lo stesso problema descritto in questo thread e ho provato tutte le cose suggerite tranne il tuo suggerimento. Non vedo alcuna opzione sviluppatore per l'emulatore in AVD Manager.
Eddie,

Ciao Eddie, la solita procedura per attivare l'opzione sviluppatore è la stessa per emulatore e dispositivi reali. Trova il numero di build nelle informazioni sul software, toccalo ripetutamente, dopo forse 7-10 tocchi, vedrai che l'opzione sviluppatore è stata abilitata.
Shamsul Arefin Sajib,

8

Se sei su Linux o Mac e supponendo che il dispositivo offline sia 'emulator-5554', puoi eseguire quanto segue:

netstat -tulpn|grep 5554

Che produce il seguente output:

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

Questo mi dice che l'ID processo 4848 (probabilmente il tuo sarà diverso) è ancora in ascolto sulla porta 5554. Ora puoi terminare quel processo con:

sudo kill -9 4848

e il fantasma offline-device non esiste più!


8

Da AVD Manager provare l'opzione "Cold Boot Now" nel menu a discesa. Ha funzionato per me!


Questa è probabilmente la prima cosa che la gente dovrebbe provare prima di entrare in queste soluzioni troppo complicate ...
ralfoide

7

Nel mio caso, ho trovato un processo che rende l'adb non funziona bene.
Puoi provare a interrompere qualche strano processo ed eseguire "dispositivi adb" per testare.

Ha funzionato per me:
uccidere il nome del processo MONyog.exe


7

Ho risolto questo aprendo il mio prompt dei comandi:

kill-server adb

dispositivi adb

Dopo l'avvio, ADB ora rileva il dispositivo / emulatore.


7

Ho avuto anche lo stesso problema. Ho provato tutte le soluzioni qui descritte ma non mi hanno aiutato. Quindi ho rimosso tutti gli emulatori in Gestione dispositivi virtuali Android e ne ho creati di nuovi. Il problema riguardava la configurazione dell'immagine del sistema CPU / ABI di Gestione dispositivi virtuali Android . Sul mio computer con Windows 10 l'emulatore con l'immagine di sistema x86è sempre offline dove l'emulatore con l'immagine di sistema x86_64funziona correttamente come previsto. Basta essere consapevoli di questo


nel mio caso, immagini di sistema x86 di Windows 10, ho solo bisogno di eliminare tutto l'emulatore e poi ricrearli
Dika

1
Grazie mille, ho passato così tanto tempo a cercare di farlo funzionare e questo era il mio problema
Brendan Samek,

Lo stesso qui, ma su Windows 7.
Viktor Brešan,

5

Scrivi e basta

adb -e reboot

e sii felice con adb))


Questo dice ad ADB di riavviare l'emulatore. Non può funzionare se è contrassegnato come offline.
shkschneider,

funziona se in precedenza si esegue rm -Rf ~/.androidper pulire i dispositivi offline. Il miglior comando e solo uno per risolvere il mio problema. No kill-servero ha start-serverfatto il trucco.
Victor R. Oliveira,

4

L'opzione "cancella dati utente" ha finalmente risolto il mio problema. basta cancellare i dati utente ogni volta che si avvia l'emulatore. Questo funziona sempre per me! Uso Windows 8 x64, eclissi


provato tutto sopra ma ha funzionato con la cancellazione dei dati utente da solo. Grazie
Sai Ram

@SaiRam, non hai provato tutto sopra, perché questo suggerimento è stato ripetuto in diverse risposte. Cold Boot NowAiuta anche .
CoolMind

@SaiRam, mi dispiace. :) Grazie.
CoolMind

4

Abilita il debug USB nell'emulatore

  1. Impostazioni> Informazioni sul telefono> Numero build> Toccalo 7 volte per diventare sviluppatore;
  2. Impostazioni> Opzioni sviluppatore> Debug USB.

Questo è divertente



4

Dall'elenco dei gestori AVD nel menu a discesa delle azioni: Cold Boot Now

lo riavvia senza tutto il dolore sopra.


2

Hai provato a eliminare e ricreare il tuo AVD? È possibile eliminare manualmente i file AVD accedendo alla directory in cui sono memorizzati (nella sottodirectory /.android/avd dell'utente).


Ciao, grazie per la risposta. L'ho provato davvero. Ancora qui. Sono tentato di reinstallare tutto.
Hanesjw,

2

Vai al task manager di Windows e termina il processo "adb.exe". Potrebbero esserci più di 1 istanze dello stesso processo, assicurati di terminarle tutte.


1
Che ne dici di "adb kill-server"?
DagW

2

Hai installato Bluestacks? In tal caso, i processi in background che viene eseguito creano il dispositivo offline "emulator-5554".

Vai al task manager e termina tutti i processi con la descrizione di "Bluestacks"


2

su Linux o Mac la porta che è bloccata sarà emulator-id + 1 quindi 5555 quindi: sudo lsof -i :5555 ti mostrerà il pid del processo che sta prendendo la porta (dovrebbe essere la seconda colonna) in modo da ucciderlo: sudo lsof -i :5555 | awk '{print $2}' | xargs kill

quindi i dispositivi adb (falsi) non verranno più visualizzati nell'elenco


2

Nel mio caso, l'emulatore stava funzionando con Oreo e inferiori, ma non con Pie, e tutto ciò che ho provato sembrava non avere alcun effetto. Ciò che alla fine ha funzionato è stato l'aggiornamento dell'emulatore alla versione più recente (versione 28).


anche a me ... piuttosto fastidioso
Analizer

2

Nel mio caso, ho iniziato in "Cold Boot Now" e ho fatto clic su Messaggio per consentire la connessione.


2

apri il tuo emulatore,

impostazione -> sul dispositivo emulato -> fai clic su Crea numero ripetutamente -> apri opzioni sviluppatore -> apri debuggin USB


Il problema è che l'emulatore sta avendo solo una schermata nera. Puoi farlo solo se puoi accedere alle impostazioni.
Jeanne vie

1

Ho scoperto che l'ambiente di emulazione viene visualizzato come "offline" quando la revisione di adb che sto utilizzando non era recente. Ho aggiornato correttamente i miei percorsi (ed eliminato la vecchia versione di adb) e su "adb kill-server", "dispositivi adb", l'ambiente di emulazione non è più diventato "offline".

Sono stato immediatamente in grado di utilizzare "adb shell" dopo quel punto.


1

Prova questo ...

  1. Chiudi l'emulatore se in esecuzione.

  2. Riavvia Emulator e attendi che sia online.

  3. immettere Command nel prompt dei comandi e premere il tasto INVIO: adb tcpip 5555

(Assicurarsi che sia in esecuzione un solo emulatore alla volta.)

  1. adb -s emulator-5555 emu kill

  2. Premere il tasto Invio ....

  3. Fatto.

  4. controlla i dispositivi con il comando "dispositivi adb" in cmd.


1

Se l'emulatore è già aperto o in esecuzione, ti dirà che è offline. Puoi ricontrollare dalla riga di comando (Ubuntu) ed eseguire:

 adb devices

Devi vedere il tuo emulatore offline, devi chiudere l'istanza in esecuzione dell'emulatore (poiché la porta verrà mostrata come occupata) e successivamente potrai eseguire la tua applicazione. Spero che questo aiuti qualcuno.


1

Ho provato di tutto, ma solo questo funziona per il mio caso: utilizzare il gestore SDK e reinstallare l'immagine del sistema. Android Studio, fai clic su Configura, Manager SDK, Avvia Manager SDK autonomo, Controlla tutte le "API di sistema Intel x86 * Immagine di sistema", "Intel x86 Atom * Immagine di sistema" e installa. Quindi riavvia Android Studio.

Potrebbe essere necessario riconfigurare e cancellare il dispositivo virtuale con AVD Manager, assicurati di scegliere la versione x86.


Per me, era la versione x86_64 che funzionava, gli altri non funzionavano
hiddeneyes02

1

Assicurati che la tua abilitazione dell'integrazione ADB sia contrassegnata; vai su Strumenti> Android> Abilita integrazione ADB.

in caso contrario, selezionare questa opzione, chiudere il dispositivo virtuale e riaprirlo. questo ha funzionato per me .. buona fortuna !!


1

Ho avuto lo stesso problema con il mio dispositivo virtuale. Il problema è dovuto all'immagine Oreo dei dispositivi virtuali con Play Store integrato. Per risolvere questo problema ho installato un nuovo dispositivo senza Play Store integrato e tutto andava bene.

Spero che ti aiuti, ciao


che situazione strana, ma l'ha risolto anche per me.
reidisaki,


0

Nel mio caso la causa era che avevo ripreso una VM con all'interno Android-x86. Il riavvio della VM con Android-x86 e il riavvio del server adb hanno risolto il problema.


0

Ciò è dovuto al fatto che sul tuo computer è installato un altro dispositivo virtuale. Potrebbe trattarsi di Bluestacks poiché ho riscontrato anche un problema simile. Ho disinstallato Bluestacks e poi ho controllato che adb devices funzionava bene.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.