Android emulator-5554 sin conexión

134

Tengo un problema con el emulador-5554, me sigue diciendo que está desconectado.

Cuando hago un adb devicesdesde la línea de comando dice

emulator-5554 offline

Incluso después de un nuevo reinicio, intento ese comando y todavía dice que está fuera de línea.

El problema es que cuando intento instalar archivos .apk en el emulador usando abd install <path>el símbolo del sistema, me dice que está fuera de línea, si creo otro dispositivo y ejecuto ese, luego intento instalar los archivos .apk, dice que tener demasiados dispositivos conectados En otras palabras, no puedo instalar mis archivos .apk.

¿Cómo puedo deshacerme de ese maldito emulador-5554? Escuché que si reinicia, debería borrar todos los dispositivos, pero eso no parece estar funcionando. Es como si se estuviera inicializando cuando mi computadora se inicia. ¿Alguien se ha encontrado con este problema?

Gracias

hanesjw
fuente
3
Para determinar si el problema es el emulador, intente esto: 1. Abra un emulador. 2. Abra otro emulador. 3. adb devicespara obtener los nombres de los emuladores. 4. Intenta instalar el APK ejecutando: adb -s NAME_OF_DEVICE install file.apk5. Cuéntanos qué sucede.
Cristian
Lo intentaré cuando llegue a casa (en el trabajo ahora mismo), no sabía que podía especificar el dispositivo en el que desea instalar. Eso debería ser realmente útil. Lo actualizaré en unas horas. ¡gracias por la respuesta!
hanesjw
Gracias otra vez por el comentario. Pude instalar el apk en el emulador haciendo lo que dijiste. El desconectado todavía permanece en mi lista de dispositivos, pero todo lo que quería hacer era instalar ese .apk. Gracias de nuevo, funcionó!
hanesjw 01 de
Creo que esta pregunta está relacionada con: stackoverflow.com/questions/6013624/… Intenta echar un vistazo a este hilo.
hiedra
Esto no responde a su pregunta, pero podría resolver su problema: adb -ddispositivos usb especificados en lugar de emuladores, adb -eemuladores en lugar de dispositivos usb, y adb -s NAMEcreo que puede usarse para especificar específicamente qué dispositivo desea, aunque no estoy claro si el último uno siempre trabaja de la manera que piensas.
Erhannis

Respuestas:

62

En tal caso, puede hacer todo lo siguiente para asegurarse de que su emulador comience a funcionar nuevamente:

  1. Vaya a cmd y escriba adb kill-server
  2. Ir al administrador de tareas y buscar adben los procesos. Si encuentra uno, haga clic derecho sobre él y haga clic en el árbol de proceso final.
  3. En eclipse, vaya a Ventana> Administrador de dispositivo virtual de Android , haga clic en el AVD que desea iniciar, haga clic en iniciar y desmarque " Iniciar desde instantánea " y luego haga clic en iniciar.

¡Eso es! Tomará un tiempo y debería resolver su problema.

Kshitij Mittal
fuente
Esto también funcionó para mí (matar a ADB no resolvió mi problema, en ninguna situación).
Booger
tan pronto como eliminé ese árbol de procesos, la lista de dispositivos en ejecución de adb se borró :) funcionó. <3 gracias
DeathRs
9
En Android Studio, cambiar la opción de inicio del dispositivo virtual de Quick Boot a Cold Boot funciona para mí.
eldes
¿Dónde puedo encontrar la configuración "Iniciar desde instantánea" en el Administrador de dispositivos Android cuando la ejecuto desde Visual Studio 2019?
Jacktric
106

1) Simplemente "Borrar datos" para solucionar este problema.

ingrese la descripción de la imagen aquí

2) Si no funciona, vaya al dispositivo emulado y habilite las opciones de desarrollador> habilite la depuración usb

Xakiru
fuente
1
Desinstalar la aplicación del emulador me ayudó. Pero es la misma idea que borrar los datos
James
1
Esto ayudó a la combinación con 'Arranque en frío ahora' justo debajo de 'Borrar datos'.
S. Gissel
tks mucho, me salvaste el día
Manh Nguyen
24

La forma en que Android detecta los emuladores es escaneando puertos que comienzan en el puerto 5555.

El número que ve en la adb deviceslista (en su caso 5554) será uno menos que el puerto que adb encuentra abierto.

Probablemente tenga un proceso en ejecución que esté escuchando en el puerto 5555. Para deshacerse del dispositivo "fuera de línea", necesitará encontrar esa aplicación y cerrarla o volver a configurarla para escuchar un puerto diferente.

Brigham
fuente
La pregunta era sobre ADB. Los números de puerto ADB comienzan en 5555.
Brigham
2
"Probablemente tenga un proceso en ejecución que esté escuchando en el puerto 5555". ¡Esto realmente ayudó cuando estábamos ejecutando otro servidor en ese puerto y nos habíamos olvidado por completo!
abhijit
Siempre comenzó en 5554, en todas mis PC (en el hogar y en el trabajo) ... y siempre ES INCLUSO (5554, 5556, 5558, 5560, ...) cuando uso múltiples emuladores.
Phantômaxx
Frank, ¿por qué crees que están todos parejos? Es porque Android también usa los puertos impares en el medio.
Brigham
¡Esto también me ayudó! Tenía un puerto abierto en 5555 que aparece como emulador 5554 (?). Todos los que ya hayan intentado respuestas de estilo "reiniciar el servidor" que no funcionen deben seguir adelante y portscan su localhost. Asumí que ADB estaría usando dispositivos USB más directamente, sin mirar mis puertos locales y hacer suposiciones sobre la existencia de un emulador allí sin siquiera hacer una verificación de protocolo.
mvr
22

Esta solución es para Windows.

(Consulte la solución de @Chris Knight para Mac / Linux )

  1. Inicie Windows Powershell:

    Inicio -> escriba 'powershell' -> Presione ENTRAR

  2. Ejecute el siguiente comando: dispositivos adb


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

En este caso, 12b80FF443 es mi dispositivo físico, y las entradas emulator- * son basura.

  1. Según @Brigham , "La forma en que Android detecta los emuladores es escaneando los puertos que comienzan en el puerto 5555". El número de puerto se indica después del nombre del emulador (en este caso 5656 y 5652). El número de puerto para verificar es el número de puerto del emulador más 1. Entonces, en este caso: -

    5656 + 1 = 5657

    5652 + 1 = 5653

    Entonces, veamos qué programa está usando estos puertos. En este caso, los puertos para verificar ambos comienzan con "565". Así que buscaré puertos en uso comenzando con 565. Ejecutar: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. El campo final en esta salida es el PID (ID del proceso); en este caso, es el PID 5944 para ambos puertos. Entonces, veamos qué es este ID de proceso. Ejecutar: tasklist /v | Select-String 5944. Reemplace 5944 con la salida del comando anterior:

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

Qué sorpresa. Es ADB. Como se señaló en otras respuestas, también podrían ser otros programas.

  1. Ahora, simplemente elimine esta ID de proceso. Ejecute kill 5944, reemplazando 5944 con el PID en el comando anterior.

PS C:\Users\CJBS> kill 5944
  1. Para confirmar que el emulador falso se ha ido, vuelva a ejecutar el siguiente comando: dispositivos adb

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 se reinicia (como se eliminó anteriormente) y no detecta más emuladores falsos.

CJBS
fuente
9

Finalmente resolví este problema, tuve que ir a las opciones de Desarrollador desde la Configuración en el Emulador , luego me desplacé un poco hacia abajo, encendí la depuración de USB. Instantáneamente mi dispositivo fue reconocido en línea, y ya no enfrenté ese problema. Intenté reiniciar el estudio y el emulador de Android , eliminando el proceso de adb , pero no funcionó.

Shamsul Arefin Sajib
fuente
1
¡usted es un héroe!
Felipe Castilhos
Hola @Shamsul, ¿puedes describir cómo acceder a las Opciones de desarrollador desde la Configuración, en el Emulador? Supongo que se refiere al Administrador de AVD, en Android Studio. Tengo el mismo problema descrito en este hilo y he intentado todas las cosas sugeridas, excepto su sugerencia. No veo ninguna opción de desarrollador para el emulador en el Administrador de AVD.
Eddie
Hola Eddie, el procedimiento habitual para activar la opción de desarrollador es el mismo para el emulador y los dispositivos reales. Encuentre el número de compilación en la información del software, tóquelo repetidamente, después de quizás 7-10 toques, verá que la opción de desarrollador se ha habilitado.
Shamsul Arefin Sajib
8

Si está en Linux o Mac, y suponiendo que el dispositivo fuera de línea es 'emulator-5554', puede ejecutar lo siguiente:

netstat -tulpn|grep 5554

Lo que produce el siguiente resultado:

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

Esto me dice que la identificación del proceso 4848 (la suya probablemente será diferente) todavía está escuchando en el puerto 5554. Ahora puede matar ese proceso con:

sudo kill -9 4848

¡y el dispositivo fantasma fuera de línea ya no existe!

Chris Knight
fuente
8

Desde el Administrador de AVD, pruebe la opción "Arranque en frío ahora" en el menú desplegable. ¡Funcionó para mí!

Paulo Taylor
fuente
Esta es probablemente la primera cosa que la gente debe tratar antes de entrar en estos complicados exceso de otras soluciones ...
ralfoide
7

En mi caso, encontré algún proceso que hace que adb no funcione bien.
Puede intentar matar algún proceso extraño y ejecutar "dispositivos adb" para probar.

A mí me funcionó:
elimine el nombre del proceso MONyog.exe

Ryan Ou
fuente
7

Resolví esto abriendo mi comando:

adb kill-server

dispositivos adb

Después de iniciar, ADB ahora detecta el dispositivo / emulador.

DagW
fuente
7

También tuve el mismo problema. He intentado todas las soluciones descritas aquí, pero no me ayudaron. Luego eliminé todos los emuladores en el Administrador de dispositivo virtual de Android y creé otros nuevos. El problema estaba en la configuración de imagen del sistema CPU / ABI del Administrador de dispositivo virtual de Android . En mi emulador de máquina Windows10 con imagen del sistema x86siempre está desconectado, donde el emulador con imagen del sistema x86_64funciona bien como se esperaba. Solo ten en cuenta esto

Volodymyr
fuente
en mi caso, imágenes de sistema x86 Windows 10, solo necesito eliminar todo el emulador y luego recrearlos
Dika
1
Muchas gracias, he pasado tanto tiempo tratando de hacer que esto funcione y este fue mi problema
Brendan Samek
Lo mismo aquí, pero en Windows 7.
Viktor Brešan
5

Solo escribe

adb -e reboot

y sé feliz con adb))

oleg gutov
fuente
Esto le dice a ADB que reinicie el emulador. No puede funcionar si está marcado como desconectado.
shkschneider
funciona si ejecutas previamente rm -Rf ~/.androidpara limpiar dispositivos sin conexión. El mejor comando y el único para resolver mi problema. No kill-servero start-serverhizo el truco.
Victor R. Oliveira
4

La opción "borrar datos del usuario" finalmente resolvió mi problema. simplemente borre los datos del usuario cada vez que inicie el emulador. ¡Esto siempre funciona para mí! Yo uso Windows 8 x64, eclipse

Sunil Kumar
fuente
Intenté todo lo anterior, pero trabajé solo para borrar los datos de usuario de limpieza. Gracias
Sai Ram
@SaiRam, no intentaste todo lo anterior, porque esta pista se repitió en varias respuestas. También Cold Boot Nowayuda
CoolMind
@SaiRam, lo siento. :) Gracias.
CoolMind
4

Habilite la depuración de USB en su emulador

  1. Configuración> Acerca del teléfono> Número de compilación> Toque 7 veces para convertirse en desarrollador;
  2. Configuración> Opciones de desarrollador> Depuración de USB.

Eso es todo disfrutar

Dhaval Jivani
fuente
Volver a habilitar la depuración de USB me ayudó (apagar y encender)
Maxim Mazurok
4

De la lista del administrador AVD en el menú desplegable de acciones: Arranque en frío ahora

lo reinicia sin todo el dolor anterior.

Alp Altunel
fuente
2

¿Intentaste eliminar y recrear tu AVD? Puede eliminar manualmente los archivos AVD yendo al directorio en el que están almacenados (en el subdirectorio /.android/avd de su usuario).

JRL
fuente
Hola, gracias por la respuesta. Lo intenté en realidad. Aún allí. Estoy tentado de volver a instalar todo.
hanesjw
2

Vaya al administrador de tareas de Windows y finalice el proceso "adb.exe". Puede haber más de 1 instancias del mismo proceso, asegúrese de finalizarlas todas.

Rohit
fuente
1
¿Qué tal "adb kill-server"?
DagW
2

¿Tienes bluestacks instalados? Si lo hace, el proceso en segundo plano que ejecuta crea el dispositivo fuera de línea "emulator-5554".

Vaya al administrador de tareas y finalice todos los procesos con la descripción de "Bluestacks"

cnfw
fuente
2

en linux o mac, el puerto que está bloqueado será id-emulador + 1, por lo que 5555 entonces: sudo lsof -i :5555 le mostrará el pid del proceso que está tomando el puerto (debería ser la segunda columna) para matarlo: sudo lsof -i :5555 | awk '{print $2}' | xargs kill

entonces los dispositivos adb (falsos) ya no se mostrarán en la lista

Micheal Kris
fuente
2

En mi caso, el emulador funcionaba con Oreo y versiones inferiores, pero no con Pie, y todo lo que probé parecía no tener efecto. Lo que finalmente funcionó fue actualizar el emulador a la última versión (28).

PulseJet
fuente
yo también ... bastante molesto
Analizador
2

En mi caso, comencé en 'Cold Boot Now' e hice clic en Mensaje para permitir la conexión.

Marcus Menezes
fuente
2

abre tu emulador,

configuración -> sobre el dispositivo emulado -> haga clic en el número de compilación repetidamente -> abra las opciones del desarrollador -> abra la depuración USB

zhiqiu lin
fuente
El problema es que el emulador solo tiene una pantalla negra. Solo puede hacer esto si puede acceder a la configuración.
Jeanne vie
1

Descubrí que el entorno de emulación aparece como "fuera de línea" cuando la revisión de adb que estoy usando no era reciente. Actualicé correctamente mis rutas (y eliminé la versión anterior de adb) y en "adb kill-server", "adb devices", el entorno de emulación ya no apareció como "fuera de línea".

Inmediatamente pude usar "adb shell" después de ese punto.

Keitai Otaku
fuente
1

Prueba esto ...

  1. Cierra el emulador si se está ejecutando.

  2. Inicie Emulator nuevamente y espere a que esté en línea.

  3. ingrese Command en commandprompt y presione la tecla ENTER: adb tcpip 5555

(Asegúrese de que solo se ejecute un emulador a la vez).

  1. adb -s emulator-5555 emu kill

  2. Presione la tecla Intro ...

  3. Hecho.

  4. compruebe los dispositivos mediante el comando "dispositivos adb" en cmd.

WonderSoftwares
fuente
1

Si el emulador ya está abierto o ejecutándose, le dirá que está desconectado. Puede verificar en la línea de comandos (Ubuntu) y ejecutar:

 adb devices

Debe ver su emulador fuera de línea, debe cerrar la instancia en ejecución del emulador (ya que el puerto se mostrará como ocupado) y luego podrá ejecutar su aplicación. Espero que esto ayude a alguien.

G Jeny Ramirez
fuente
1

Intenté todo pero solo este funciona para mi caso: use el administrador de SDK y reinstale la imagen del sistema. Android Studio, haga clic en Configurar, Administrador de SDK, Inicie el Administrador de SDK independiente, Verifique todas las "API de Google Intel x86 * Imagen del sistema", "Intel x86 Atom * Imagen del sistema" e instálelo. Luego reinicie Android Studio.

Es posible que tenga que reconfigurar y borrar el dispositivo virtual con AVD Manager, asegúrese de elegir la versión x86.

EricF
fuente
Para mí, era la versión x86_64 la que funcionaba, las otras no funcionaban
hiddeneyes02
1

Asegúrese de que su integración para habilitar ADB esté marcada; vaya a Herramientas> Android> Habilitar integración ADB.

Si no está marcada, marque esta opción, cierre su dispositivo virtual y vuelva a abrirlo. esto funcionó para mí ... ¡buena suerte!

Leo Santana
fuente
1

Tuve el mismo problema con mi dispositivo virtual. El problema se debe a la imagen Oreo de los dispositivos virtuales que tienen Play Store integrada. Para resolver este problema, instalé un nuevo dispositivo sin Play Store integrado y todo estuvo bien.

Espero que ayude, adiós

furdu
fuente
Qué situación más extraña, pero también lo arregló para mí.
reidisaki
0

Simplemente borre y cree gear avd nuevamente. Funcionará.

Gagandeep Singh
fuente
0

En mi caso, la causa fue que había reanudado una máquina virtual con android-x86 dentro. Reiniciar la VM con Android-x86 y reiniciar el servidor adb solucionó el problema.

Ullrich
fuente
0

Esto se debe al hecho de que tiene otro dispositivo virtual instalado en su máquina. Puede ser Bluestacks ya que también enfrenté un problema similar. Desinstalé Bluestacks y luego verifiqué que adb devices funcionaba bien.

Aditya Harsh
fuente