El emulador de Android no muestra nada excepto la pantalla en negro y los dispositivos adb muestran "dispositivo fuera de línea"


184

Solo estoy tratando de comenzar el desarrollo en Android. Entonces, el problema es que cuando trato de iniciar un emulador emitiendo el comando emulator @ A2 , aparece un emulador en la pantalla. Pero incluso después de esperar tanto como 2-3 horas, todo lo que muestra es una pantalla en negro. Ni siquiera la pantalla de inicio de Android o el logotipo de Android. Solo una pantalla negra. Y aunque inicialmente "dispositivos adb" muestra el emulador como fuera de línea, después de 2-3 minutos la lista de dispositivos conectados queda en blanco.

Busqué por toda la red e intenté todos los pasos mencionados allí, como matar y reiniciar adb, instalar java / android en un directorio sin espacios, pero fue en vano.

Mis instalaciones de Jdk y Android están en las siguientes carpetas:

C: \ Java32BitInstallation C: \ AndroidSdkInstallation Aquí está la lista de cosas que he descargado / instalado para él:

  1. Herramientas de Android SDK, revisión 13
  2. Herramientas de plataformas Android SDK, revisión 10
  3. Plataforma SDK Android 4.0.3, API 15, revsion 1
  4. Jdk jdk-7u3-windows-i586

En mi variable de ruta , he agregado * C: \ AndroidSdkInstallation \ android-sdk \ platform-tools \; C: \ AndroidSdkInstallation \ android-sdk \ tools \; C: \ Java32BitInstallation \; C: \ Java32BitInstallation \ bin *

Además, después de leer en algún lugar de la red, he agregado la variable JAVA_HOME con su valor como C: \ Java32BitInstallation \ Pero todavía no sirve.

Tengo ambos IntelliJ y Eclipse instalados en mi sistema. Pero dado que para iniciar el emulador, no estoy usando ninguno de estos, no sospecho de ningún juego sucio con estos.

Entonces, ¿alguien puede ayudarme con estas cosas que me están volviendo loco? Estoy intentando durante los últimos 10-12 días y no he podido iniciar el emulador, y mucho menos escribir mi primer programa "Hola mundo".

Notas adicionales: Mi sistema es una máquina con Windows 7 (64 bits). Anteriormente había instalado la versión de 64 bits de jdk, pero el problema también estaba presente esa vez. Ahora, después de buscar en Internet, lo desinstalé e instalé la versión de 32 bits de Java. Pero, de nuevo, no sirve de nada. Sin embargo, una cosa es que esta versión de 32 bits de Java (jdk 7 actualización 3), primero instala jre como parte de la instalación de jdk y luego instala jre 7. Entonces ahora tengo 2 carpetas: jre y jre7 en el directorio C: \ Java32BitInstallation. ¿Podría esto tener que ver con que mi emulador no aparezca? ¿Debo especificar variables ambientales adicionales o modificar las existentes? Amablemente ayuda.

Por cierto, ¿mencioné que el logcat no muestra nada?


3
No sé si lograste resolver este problema. Recientemente tuve el mismo problema. Intenta ejecutar el emulador con emulator -debug-init -logcat '*:v'. Esto podría llevarlo a la causa raíz. El mío estaba fallando en ServiceManager. Parecía que había eliminado algunos archivos de ServiceManager.
Markus

1
Encontré una pantalla negra en medio de la ejecución de mi programa en el emulador. De acuerdo, su problema suena como un problema de configuración de AVD, solo quería que otros sepan que las pérdidas de memoria también pueden causar una pantalla en negro. Mi logcat no mostró el recolector de basura GC_MESSAGE hasta que borré avd, reinicié logcat y volví a ejecutar el emulador. Espero que esto ayude a alguien porque acabo de pasar un buen rato borrando y recreando AVD cuando no era mi problema ...: - /
cjayem13

Por favor, eche un vistazo en el siguiente enlace. Me ha funcionado bien. stackoverflow.com/questions/23509626/…
Android

1
@ Markus, ¿dónde funciona el comando "emulador"? No en herramientas de plataforma
Shirish Herwade

1
@FabioR: en mac puede presionar Comando + Opción + Escape, seleccionar qemu-system-i386y Forzar salida . El enfoque equivalente también debería funcionar en otros sistemas operativos.
ccpizza

Respuestas:


136

He tenido el mismo problema con el último SDK de Android. Simplemente desactivé la casilla de verificación "Usar GPU host" dentro de la configuración del dispositivo virtual y comenzó a funcionar nuevamente.

El "Usar GPU host" solo funciona para mí con Android 4.2 como "Target".

Actualización 26.02.2014:

Hay dos sugerencias en el capítulo Configuración de aceleración de gráficos de developer.android.com.

Precaución: a partir de SDK Tools Revision 17, la función de aceleración de gráficos para el emulador es experimental; Esté atento a las incompatibilidades y errores al utilizar esta función.

y

Inicie el Administrador de AVD y cree un nuevo AVD con el valor Objetivo de Android 4.0.3 (API Nivel 15), revisión 3 o superior.

Entonces, Android 4.0.3 (API Nivel 15) parece ser el requisito mínimo para la aceleración de gráficos.

Actualización 25.07.2018:

La última versión de Android Studio ya no tiene esta opción. Si el problema persiste, intente cambiar entre los valores del menú desplegable "Rendimiento emulado" en el cuadro de diálogo Verificar configuración (si está disponible) o consulte la representación de gráficos Configurar el emulador y la aceleración de hardware .


2
Ok lo tengo. Tuve que actualizar algunas cosas con mi administrador de SDK. Desafortunadamente, no puedo decirte exactamente qué actualización fue la correcta, pero supongo que tiene que ver con los emuladores de procesador.
muetzenflo

1
¡Gracias! Tuve el mismo problema durante días y no pude resolverlo.
cvocvo

89
Para mí es todo lo contrario: tengo que activar "HOST GPU" para que funcione. El único problema es que no puedo tomar capturas de pantalla en ese modo: /
Elad Avron

3
Host GPU debe estar
activado

2
El emulador de Android 4.0.3 funciona después de haber activado el modo gpu en Android Studio 3.4 (Linux, Windows 10). No puede cambiar las opciones en el cuadro de diálogo Verificar configuración. Obliga a desactivar el modo gpu lo que haya seleccionado en el rendimiento emulado. Entonces cambie config.ini directamente. hw.gpu.enabled = yes y hw.gpu.mode = on. Los archivos de configuración están normalmente en / user folder / .android / avd / emulator name.avd /.
Parque Sungsuh

82

Tuve problemas para emular los dispositivos más grandes (Nexus7 y 10), mientras que los emuladores del tamaño del teléfono funcionaron muy bien. Seguiría obteniendo una pantalla negra sin nada durante horas con las tabletas. Lo que ayudó fue en realidad el OPUESTO de lo que la mayoría de las personas aquí recomiendan: después de configurar la casilla de verificación para 'Usar GPU host' y establecer el objetivo en el Android más alto (4.4.2 en el momento de escribir este artículo), el 7 y 10 funcionan como ¡esperado!


17
Esto también funcionó para mí. Asegurarse de que Usar Host GPU estaba marcado y establecer el objetivo en Android 4.4.2.
R Brill

1
Gracias. ¡Marqué la opción y 4.2.2 comenzó a funcionar! Creo lo que otras personas mencionaron también. ¡Qué mundo de java de mago!
JQ.

Exactamente lo que necesitaba. ¡Gracias!
TheXenocide

Con o sin la opción "Usar GPU de host" marcada, el nivel de API 14 no funcionaría para mí. El nivel 17 de API funcionó con "Usar GPU de host" marcado.
vishvAs vAsuki

Esto también funcionó para mí, estoy en una MacBook a principios de 2015 sin ninguna tarjeta gráfica discreta.
Simon Stender Boisen

53

Recientemente tuve el mismo problema en el emulador, Nexus 5 (Android O). Accedí a Android Virtual Device Manager y borré los datos del usuario y resolvió mi problema.

Administrador de dispositivo virtual de Android


Trabajó para mi. Gracias.
Sadda Hussain

1
Trabajó para mí en 2020 ejecutándose en Windows a través de la línea de comandos
ViktorMS

1
Esta es la solución más común. Debería ser la respuesta aceptada.
Dror Bar

30

La comprobación de "Borrar datos de usuario" en las Opciones de inicio me lo arregló.

Vaya a Android Virtual Device Manager-> Seleccione su dispositivo-> Inicio-> Marque "Borrar datos del usuario" -> Iniciar


1
Esto funcionó para mí en una Mac que ejecuta emuladores a través del visor de equipo. En Android Studio 2.0, esta opción aparece en la flecha hacia abajo junto al botón de edición -> "
Borrar

Funciona fantástico Si el emulador se construye desde la fuente (Android pie aosp_x86_64-userdebug en mi caso), cada vez que ejecute el comando make del directorio raíz, el emulador debe iniciarse con un -wipe-dataargumento para que arranque correctamente.
yc2986

buena solución, funcionó para mí
core114

23

Usuarios de Mac: Desafortunadamente, si tiene una Mac más antigua (finales de 2009, por ejemplo) y está usando Yosemite, no puede usar HAXM para la arquitectura de 64 bits. Según las notas de la versión de HAXM:

El controlador HAXM no admite la emulación de una imagen de sistema de 64 bits en sistemas Intel basados ​​en microarquitectura Core (Core, Core2 Duo, etc.). Todos los sistemas basados ​​en Nehalem y más allá son compatibles. (Máquinas Corei3, Core i5 y Core i7).

Pasé un día tratando de resolver este problema cuando encontré esta cita. Lo único que funciona es usar la versión no x86 del último sistema operativo (por ejemplo, Lollipop Android 5.0.1 armeabi-v7a) en su AVD


21

¿Has probado el botón de encendido :) ... realmente funcionó para mí. En realidad, el emulador guarda el estado del dispositivo antes de cerrar, por lo que en la última ejecución si apagó el dispositivo y cerró el emulador, en la próxima ejecución cargará el estado anterior y mostrará el teléfono apagado, también conocido como pantalla en blanco. Aunque puede haber muchas otras causas de este problema.

ingrese la descripción de la imagen aquí


3
Esto debería mencionarse en las respuestas anteriores. El primer día con Android Studio y tuve miedo de hacer clic en este botón, porque pensé que iba a apagar el teléfono y me costó mucho tiempo volver a encenderlo. Sí, una pantalla negra significa que el teléfono está apagado y debe activarlo con el botón de encendido como en el dispositivo real.
kojot

Esto me ahorró mucho dolor de cabeza y tiempo, muchas gracias. Accidentalmente presioné este botón cuando quería cerrar el emulador, no pensé en ello cuando solucioné el problema cuando se volvió negro la próxima vez que ejecuté mi aplicación
Meenohara

9

Realice el restablecimiento de fábrica en "Administrador de dispositivos Android" .

En las versiones más recientes de Android Studio, esto se llama "Borrar datos", y se encuentra en el menú contextual del dispositivo en el administrador de dispositivos virtuales.


Esto funcionó para mí, gracias. En VS 2019, vaya al Administrador de dispositivos Android, haga clic con el botón derecho y "restablecer valores de fábrica". Tenía un emulador de pantalla en negro y esto resolvió el problema para mí.
Evan

7

Así es como lo resolví: ejecuté el emulador con el siguiente comando:

sudo /home/code/Android/Sdk/tools/emulator -avd Nexus_S_API_21 -netspeed full -netdelay none -debug-init -logcat '*:v'

y recibió lo siguiente en la salida:

NAND: could not write file /tmp/android-code/TMP7.tmp, No space left on device. (similar error, could not reproduce it)

Entonces, acabo de liberar algo de espacio en disco de mi directorio / home en ubuntu (para Windows libera el espacio en disco C:) y luego arrancó sin problemas.


Usé el comando: sudo /home/code/Android/Sdk/tools/emulator -avd Nexus_S_API_21 -netspeed full -netdelay none -debug-init -logcat '*:v' para iniciar mi AVD y ver el registro y descubrí que el dispositivo no puede acceder a la cámara de la computadora portátil, así que edité la configuración para desactivar la cámara. Después de eso, ¡todo funcionó bien!
Mo Zaatar

6

También tuve este problema de la nada. Android Studio ocupaba el 100% de la CPU y en la expo tuve el siguiente error:

Couldn't start project on Android: Error running adb: This computer is not authorized to debug the device. Please follow the instructions here to enable USB debugging: https://developer.android.com/studio/run/device.html#developer-device-options. If you are using Genymotion go to Settings -> ADB, select "Use custom Android SDK tools", and point it at your Android SDK directory.

El arranque en frío me lo arregló, como la respuesta de boltup_im_coding. También puede iniciar en frío de esta manera si ya se está ejecutando (con la pantalla en negro).

ingrese la descripción de la imagen aquí


4

Por lo que parece, tiene un dispositivo mal configurado. Si lo hace, nunca comenzará y nunca mostrará nada en Logcat.

Recomiendo crear un nuevo dispositivo utilizando una de las "Definiciones de dispositivo" predeterminadas disponibles en el Administrador de AVD. Es tan fácil como resaltar el tipo de dispositivo que desea en la pestaña "Definiciones del dispositivo" y hacer clic en el botón "Crear AVD ...", y luego completar algunos detalles. Comenzaría ajustando el "Almacenamiento interno" a alrededor de 8 GB y (tal vez) una "Tarjeta SD" de 2 GB, dejando todo lo demás igual. Intenta iniciar el dispositivo y si ves "Android" emergente en la pantalla, estás ejecutando. El primer arranque generalmente lleva un tiempo, así que solo espere y observe Logcat para cualquier problema (la perspectiva "DDMS" ayuda aquí).

Si aún ve una pantalla negra con una definición de dispositivo predeterminada, tiene problemas en otros lugares que están causando la falla del dispositivo. Excavar a través de los registros puede ser su única oportunidad si ese es el caso. Siempre puede intentar volver a descargar el ADT y volver a instalar los SDK si nada más funciona.

El objetivo aquí es ponerlo en funcionamiento con un dispositivo (muy) básico, por lo que no intente obtener especificaciones súper impresionantes en este momento, solo intente hacerlo funcionar. Una vez que eso ocurra, intente ajustar la configuración una por una hasta que tenga la especificación de la manera que desee. Solo tenga en cuenta que el emulador tiene sus limitaciones y no sustituye a un dispositivo real (aunque funciona la mayor parte del tiempo;)


Sorprendido de ver una respuesta después de casi un año de publicar la pregunta. Había intentado los pasos anteriores que mencionaste, pero eso no ayudó. Actualicé el SDk y funcionó.
user1314305

4

Asegúrese de haber instalado la última revisión de HAXM. Tuve el mismo problema de pantalla en blanco con la versión 1.0.1 mientras que 1.0.8 ya estaba disponible. El instalador se puede descargar a través de las herramientas del SDK, para instalar realmente el módulo que tendría que ejecutar

android-sdk-directory \ extras \ intel \ Hardware_Accelerated_Execution_Manager \ intelhaxm.exe



3

Simplemente intente configurar CPU / ABI en "Intel Atom (x86)" y desactive la casilla de verificación "Usar GPU host".


3

Los problemas asociados con la ventana negra del emulador:

Ocurre cuando se instala una nueva ventana. El problema asociado con los gráficos de Windows está en el CD de Windows. Debe actualizar Windows y seguir los siguientes pasos.

Si los gráficos de rendimiento emulados son (Software GLES, selecciónelo en -> Automático)

O si los gráficos de rendimiento emulados son (Automático, selecciónelo para -> Software GLES)

Esta alternancia puede resolver este problema.


3

Lo cambié a "arranque en frío" para solucionar mi problema. Antes de esto, cuando corría adb devicessiempre se mostraba como offline.

Captura de pantalla de arranque en frío


1
El arranque en frío también funcionó para mí. Lo hizo una vez, no han tenido un problema, ya que .... Sin embargo, de vez en cuando sucede ...
newITguy

3

La siguiente solución funcionó para mí:

  1. Localice la carpeta AVD en ~/.android/avd
  2. Abierto config.ini
  3. Reemplace las siguientes configuraciones con estos valores:

    hw.gpu.enabled=yes
    hw.gpu.mode=on
    
  4. Guarde y cierre el archivo
  5. No abra la pantalla de configuración de AVD dentro de Android Studio o revertirá la configuración anterior
  6. Inicia el emulador

Gracias a Sunsugh Park por proporcionar la solución .

He informado esto a Google en la pantalla negra a partir de API 15 . Destaque el problema para que puedan solucionarlo.

Editar

En realidad, mientras el emulador arrancaba bien, se bloqueaba después de abrir una aplicación. Entonces, el equipo del emulador debe haber deshabilitado los gráficos de hardware por una razón. Desafortunadamente, parece ser imposible hacer que el emulador funcione.


2

Tuve el mismo problema en API 28, y la solución resultó ser la siguiente;

Habilitación de la representación de Skia para la interfaz de usuario de Android

Al usar imágenes para API 27 o posterior, el emulador puede renderizar la interfaz de usuario de Android con Skia, que puede renderizar de manera más fluida y eficiente.

Para habilitar la representación de Skia, use los siguientes comandos en adb shell :

su
setprop debug.hwui.renderer skiagl
stop
start

https://developer.android.com/studio/run/emulator-acceleration#accel-graphics


Gracias por la edición - No tengo suficiente reputación para comentar correctamente ...
Sean Conway

1

Yo también tengo el mismo problema. Cuando cambié el Eclipse de EE a Eclipse Classic, funcionó bien. en Win professional 64Bit. Pruébelo, también puede funcionar para usted.


1
Hola Senthil, gracias por la respuesta. Supongo que no se trata de la versión Eclipse, porque no estoy usando eclipse para iniciar el emulador. Estoy usando las herramientas de Android SDK t = para ello.
user1314305

1
oh .. ¡Entonces espera a que alguien te ayude ...! Lo siento ,,,
SenthilPrabhu 05 de

1

Logré iniciar y depurar una aplicación de prueba de Android en el emulador de Android a través de Delphi.

Tengo Windows 7 de 64 bits, 4 GB de RAM, un procesador de doble núcleo a 3 GHz y Delphi XE 5.

A continuación hay un enlace que he preparado rápidamente para mis colegas en el trabajo, pero lo mejoraré en la primera oportunidad:

Depurar aplicaciones de Android con Delphi

Perdona mi idioma inglés pero no soy hablante nativo de inglés. Espero que encuentres este pequeño tutorial


1

Para una solución alternativa, pruebe Android 4.0.3 (API 15) con la imagen Intel Atom (x86). Podría capturar capturas de pantalla de DDMS con "use host gpu" y HAXM habilitado. Solo esta combinación funcionó para mí.


1

También tuve el mismo problema. Descubrí que el acelerador de hardware HAXM se actualizó recientemente pero no se reinstaló ya que el administrador de actualizaciones solo actualiza el paquete de instalación que se guarda en su disco duro. Deberá eliminar HAXM y luego ejecutar ese paquete de instalación para completar la actualización. Usualmente esto se instala en ANDROID-SDK-ROOT \ android-sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager. Donde ANDROID-SDK-ROOT es la ubicación donde se encuentra su sdk de Android.


1

Para mí, tuve que apagar la cámara delantera y trasera. ¡Espero que esto ayude!


Oh, gracias, en mi caso tuve que elegir emular la cámara trasera o frontal
stephanfriedrich

1

Estaba teniendo este problema en mi Mac. Cuando crea el dispositivo si cambia "Gráficos" de "Automático" a "Software", soluciona el problema, o al menos lo hizo por mí.


1

Utilizo los emuladores de Android ultrarrápidos de Microsoft que utilizan Hyper-V , y tenía la misma pantalla en negro para cada emulador de Android que creé, sin importar cómo configuré el modo GPU (automático, host, mesa, ángulo, sombreador rápido, apagado). Aunque mi situación es aparentemente diferente a la del OP, pensé que podría ser útil para aquellos que usan emuladores de Android de Microsoft y vienen aquí después de buscar "pantalla negra del emulador de Android".

La solución en mi caso es actualizar todas las herramientas de Android:

   Visual Studio > Tools > Android > Android SDK Manager > Tools

A partir de hoy (2019-02-01), los emuladores de Android tendrían este problema de pantalla negra si tiene una nueva instalación de Visual Studio 2017. VS muestra notificaciones automáticamente para actualizaciones de paquetes NuGet, herramientas de extensión, etc., pero NO para Android Actualizaciones de herramientas. Debe verificarlos y actualizarlos manualmente.


1

Tenía este problema en mi Nexus 7, Nexus 10 y Pixel también, lo que significa en todos los emuladores.

Después de días de luchar con este problema, finalmente lo descubrí. Bueno, hay muchas respuestas anteriores que pueden funcionar o no para usted porque su configuración puede variar ligeramente de la suya.

Te diré mi solución:

Al crear esos emuladores, verifiqué Hardware - GLES 2.0 en Gráficos para un mejor rendimiento. Y para mí fue el problema .

Si has hecho lo mismo entonces,

Go to AVD Manager -> Select your emulator -> Click on Edit configuration (in Actions column marked as pencil) -> in Emulated performance - Graphics -> Select Software - GLES 2.0.

Luego haga clic en Show Advanced Settings -> Set none for both Front and Back cameray hit Finish.

Ahora select your emulator in AVD Manager and click on Dropdown arrow in Actions column -> select Cold Boot Now.

Y sí, estás listo para ir 😀


0

Estaba teniendo este problema después de recibir la pantalla azul de la muerte mientras ejecutaba mi emulador. Aquí está mi solución (al menos para Windows). Mi solución es reinstalar completamente el AVD. El problema con el proceso normal de desinstalación para Android Studio es que no elimina todo , por lo que si sus archivos AVD están dañados, permanecerán dañados durante la reinstalación.

Para solucionar esto, eliminé dos directorios:

C: \ Usuarios \ (Mi nombre de usuario) \. Android

y

C: \ Users \ (Mi nombre de usuario) \. AndroidStudio3.1

Luego volví a ejecutar el instalador.

Creo que esta es la solución más infalible si su emulador funcionaba anteriormente porque obliga a una actualización completa del componente AVD de Android Studio.


0

Otra fuente de error podría ser la longitud de la PATHvariable del sistema (en sistemas Windows). Al ejecutar imágenes basadas en Intel con una PATHvariable de más de 2047 caracteres, parece pasar un valor vacío de esta variable a la consola / emulador, por lo que no puede iniciarse correctamente.

Aquí hay un artículo que describe este comportamiento: https://software.intel.com/en-us/articles/limitation-to-the-length-of-the-system-path-variable

Yo tuve el mismo problema. La reducción de la longitud total de esta variable del sistema a 1354 caracteres al eliminar las rutas no utilizadas / inexistentes lo arregló para mí.


0

Yo tuve el mismo problema. Aquí está mi solución (para Mac OS). Acabo de degradar la versión del emulador de Android (de 28.0.3 a 27.3.8). Aquí hay una instrucción detallada de cómo hacerlo.


0

También tuve el mismo problema en win10 64bit. Después de mucho buscar, encontré esta solución. (Si está utilizando un sistema de inteligencia (CPU, GPU, placa base, etc.)) Espero que también funcione para usted.

Paso 1: asegúrese de que la virtualización esté habilitada en su dispositivo:

Reinicie su computadora y luego presione F2 para la configuración del BIOS. Debería encontrar la etiqueta de virtualización y asegurarse de que esté marcada como habilitada. Si no está habilitado, no se pueden ejecutar dispositivos virtuales en su dispositivo.

Paso 2: Instale / actualice Intel Hardware Accelerated Execution Manager (Intel HAXM) en su dispositivo:

Este software debe instalarse o actualizarse para que se ejecute cualquier AVD. Puede descargar la última versión buscando en Google "HAXM". Después de la descarga, instale el archivo .exe y reinicie su computadora.


0

.

Me había enfrentado al mismo problema. Al seleccionar borrar datos funcionó para mí.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.