studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android android-emulator

programacion - Android emulator-5554 sin conexión



manual de programacion android pdf (30)

Esta solución es para Windows.

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

  1. Inicie Windows Powershell:

    Inicio -> escriba ''powershell'' -> Presione ENTER

  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. Per @Brigham , "La forma en que Android detecta emuladores es escaneando puertos a partir del 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" 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 de estos dos puertos. Entonces, veamos qué es este ID de proceso. Ejecutar: tasklist /v | Select-String 5944 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ñala en otras respuestas, también podrían ser otros programas.

  1. Ahora, acaba con este 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 espurio 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

El ADB se reinicia (como se había eliminado anteriormente) y no detecta más emuladores falsos.

Tengo un problema con emulator-5554, me sigue diciendo que no está en línea.

Cuando hago un adb devices desde la línea de comandos dice

emulator-5554 offline

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

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

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

Gracias


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


¿Tienes bluestacks instalados? Si lo hace, los procesos en segundo plano que se ejecutan crean el dispositivo fuera de línea "emulator-5554".

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


1. Simplemente "Eliminar datos" para solucionar este problema.

2. Si no funciona, ve al dispositivo emulado y habilita las opciones del desarrollador> habilita la depuración de usb


Agregaré otra posible solución aquí, que funcionó en mi caso.

Descubrí que se estaba ejecutando un proceso llamado SpiceWorksEventProcessor, que estaba atando el puerto 5555, y aparentemente fue leído por adb como un emulador. Matar ese proceso fue lo que finalmente eliminó ese obstinado dispositivo emulador para mí.

No estoy seguro de qué es esto, pero si lo tiene, podría ser la causa de su emulador sin conexión.

Aclamaciones


Asegúrese de que su integración de habilitación ADB esté marcada; ve a Herramientas> Android> Habilita la integración de ADB.

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


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

lo reinicia sin ningún dolor arriba.


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 antigua de adb) y en "adb kill-server", "adb devices", el entorno de emulación ya no apareció como "fuera de línea".

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


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


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

Funcionó para mí:
matar el nombre del proceso MONyog.exe


En mi caso, he desmarcado "GPU Host" y funcionó :)


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


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

  1. Ve a cmd y escribe "adb kill-server"
  2. Vaya al administrador de tareas y busque "adb" en 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 Android, haga clic en el AVD que desea iniciar, haga clic en Inicio y desmarque "Lanzar desde instantánea" y luego haga clic en iniciar.

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


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é los adb devices Funcionó bien entonces.


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, activé la depuración del USB. Instantáneamente mi dispositivo fue reconocido en línea, y ya no me enfrenté a ese problema. Intenté reiniciar android studio y emulator , matando el proceso de adb , pero eso no funcionó.


Intenté todo, pero solo este funciona para mi caso: use el administrador de SDK y vuelva a instalar 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álelas. Luego reinicie Android studio.

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


La forma en que Android detecta los emuladores es escaneando puertos a partir del puerto 5555.

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

Es probable que 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.


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


Lo resolví abriendo mi orden de mando:

adb kill-server

dispositivos adb

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


Prueba esto ...

  1. Cerrar el emulador si se está ejecutando.

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

  3. ingrese Comando 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 Enter ....

  3. Hecho.

  4. verifique los dispositivos por comando "dispositivos adb" en cmd.


Si el emulador ya está abierto o ejecutándolo, te dirá que estás fuera de línea. Puede verificar doblemente en la línea de comando (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 puede ejecutar su aplicación. Espero que esto ayude a alguien.


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

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 el identificador de proceso 4848 (el tuyo probablemente será diferente) sigue escuchando en el puerto 5554. Ahora puedes eliminar ese proceso con:

sudo kill -9 4848

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


Simplemente borre los datos del usuario del administrador AVD y luego ingrese los dispositivos adb kill-server y adb. Limpiar datos también ahorra mucho espacio de memoria en el sistema.


Simplemente elimine y vuelva a crear Gear AVD. Funcionará.


Solo escribe

adb -e reboot

y se feliz con adb))


También tuve el mismo problema. He intentado todas las soluciones aquí descritas, pero no me han ayudado. Luego eliminé todos los emuladores en el Administrador de dispositivos virtuales de Android y creé otros nuevos. El problema estaba en la configuración de imagen del sistema de CPU / ABI del Administrador de dispositivo virtual de Android . En mi emulador de máquina con Windows 10, la imagen del sistema x86 siempre está fuera de línea, donde el emulador con la imagen del sistema x86_64 funciona bien como se esperaba. Solo se consciente de esto


Todas las respuestas anteriores no ayudaron, y luego borré y recreé el emulador todo funcionó bien


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


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

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


Habilite la depuración de USB en su emulador

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

Eso es lo que disfrutas