Cómo solucionar problemas conocidos con Android Emulator

En esta página, se muestran los errores conocidos, las soluciones alternativas y las sugerencias para resolver problemas relacionados con Android Emulator. Si experimentas un problema que no se indica aquí o si no puedes usar correctamente una de las soluciones alternativas que se muestran, informa un error.

Problemas generales


Google Maps no se muestra en los controles extendidos de Android Emulator.

A partir de mediados de mayo, las versiones de Android Emulator anteriores a la 34.2.13 ya no tendrán un Google Maps funcional en los controles extendidos. Los emuladores más antiguos se envían con una versión de Chromium que no es compatible con la API de Google Maps JavaScript.

Cómo verificar si hay espacio suficiente en el disco

Para evitar fallas y bloqueos debido a la falta de espacio libre en el disco, el emulador comprueba si hay suficiente espacio libre en el inicio y no se inicia si no hay al menos 5 GB libres. En caso de que no se inicie el emulador, verifica si tienes suficiente espacio libre en el disco.

Software antivirus

Dado que muchos paquetes de software antivirus y de seguridad funcionan mediante la supervisión de operaciones de lectura y escritura, el uso del software puede disminuir el rendimiento de las herramientas similares a Android Emulator.

Muchos paquetes antivirus permiten agregar apps específicas a una lista de aplicaciones de confianza, lo que permite que funcionen correctamente sin degradar el rendimiento. Si experimentas dificultades para guardar o cargar instantáneas de AVD, puedes mejorar el rendimiento colocando la aplicación de Android Emulator como una de confianza en el software antivirus.

El impacto en el rendimiento difiere de un paquete de software antivirus a otro. Si tienes otro software antivirus instalado que el que se incluye con el sistema operativo, puedes ejecutar pruebas simples para determinar cuál de esos tiene el mayor efecto sobre el rendimiento de la carga y las operaciones de guardado del emulador.

Es posible que algunos software antivirus sean incompatibles con Android Emulator.

Si estás usando software Avast y tienes problemas para ejecutar Android Emulator, inhabilita las opciones Use nested virtualization when available y Enable Hardware assisted virtualization en la configuración del solucionador de problemas de Avast. Además, después de inhabilitar la virtualización de hardware de Avast, asegúrate de que HAXM esté configurado correctamente de nuevo a través de una reinstalación completa de la versión de HAXM más reciente del SDK Manager.

En Windows, a veces, el AVD se bloquea con HAXM y el problema se puede resolver desinstalando McAfee por completo.

Windows: memoria RAM libre y cargo de confirmación

Cuando se inicia el emulador, este debe inicializar la RAM del sistema operativo invitado de Android. En Windows, el emulador solicita que ese sistema operativo represente el tamaño completo de la memoria de invitado a la hora de inicio, aunque durante la operación real, la memoria se puede paginar a pedido. El emulador solicita la cantidad total de memoria de invitado al momento de inicio porque Windows debe garantizar que haya suficiente RAM física y archivos de paginación disponibles para contener todo el conjunto de tareas potenciales. Esta solicitud se prepara para el peor de los casos posibles, en el que se ocupa rápidamente toda la memoria de invitado, sin ninguna oportunidad de descartar ni liberar memoria.

En ocasiones, cuando el emulador le solicita a Windows que especifique el tamaño completo de memoria de invitado, la solicitud excede el límite de confirmación actual, que es el total de la memoria RAM física disponible y del archivo de paginación. En ese caso, Windows no puede garantizar que el conjunto de tareas, en el peor de los casos posibles, se ajuste a la RAM física o al archivo de paginación, y, como consecuencia, no se inicia el emulador.

En casos típicos, la cantidad de espacio en el disco duro asignado para el archivo de paginación más la RAM física es más que suficiente para la mayoría de los casos de uso del emulador. Sin embargo, si experimentas fallas al iniciar el emulador debido a que excede el límite de confirmación, te recomendamos que examines el cargo de confirmación actual, que se puede ver en la pestaña Rendimiento del Administrador de tareas de Windows (para abrirlo, presiona Ctrl + Mayúsculas + Esc).

Puedes disminuir la probabilidad de que se supere el límite de confirmación de varias maneras:

  • Libera RAM física antes de iniciar el emulador cerrando aplicaciones y archivos no utilizados.
  • Inhabilita la administración de la memoria de terceros y utilidades de compresión de memoria. Esas utilidades pueden causar un cargo de confirmación excesivo y acercar el sistema al límite de confirmación.
  • Utiliza un tamaño administrado por el sistema para el archivo de paginación de Windows, que puede aumentar de manera más flexible y dinámica el tamaño del archivo de paginación (y, por lo tanto, el límite de confirmación) en respuesta a una mayor demanda del emulador y otras aplicaciones.

    Para obtener más información sobre los cargos de confirmación y los motivos por los que funciona mejor una configuración flexible, consulta este artículo de Microsoft.

La función de varios toques no funciona en la ventana de herramientas

Los gestos de varios toques, incluido el desplazamiento lateral de dos dedos, no funcionan cuando el emulador se ejecuta en una ventana de herramientas. Para habilitarlos, inicia el emulador en una ventana separada.

El emulador degrada la salida de audio de Bluetooth

Si usas auriculares Bluetooth, es posible que notes que la salida de audio se degrada cuando se ejecuta el emulador (error 183139207). Esto sucede porque, cuando se inicia el emulador, se activa el micrófono de los auriculares, lo que provoca que estos cambien el modo dúplex, con calidad reducida.

Para evitar este problema, inhabilita el micrófono en el emulador agregando hw.audioInput=no al archivo config.ini del dispositivo virtual de Android (AVD). Para encontrar el archivo config.ini de un AVD, ve al AVD en el Administrador de dispositivos, haz clic en el menú ampliado y selecciona Show on Disk.

No se pueden iniciar dispositivos virtuales de Android en ChromeOS

En ChromeOS, es posible que no se inicien los dispositivos virtuales de Android (AVD) porque falta la dependencia de libnss3. Para iniciar los AVD correctamente, ejecuta sudo apt install libnss3 para instalar la biblioteca libnss3 de forma manual.

Advertencias del sensor de inclinación de la muñeca en Wear OS

En Wear OS, es posible que el emulador registre de forma reiterada el siguiente mensaje sobre el sensor de inclinación de la muñeca:the host has not provided value yet for sensorHandle=16

Los desarrolladores pueden ignorar estas advertencias de forma segura.

La ventana del emulador incorporada es demasiado pequeña

En máquinas con resolución más baja, como 1024 x 768, puede ser difícil leer la pantalla del emulador cuando se ejecuta en una ventana de herramientas en Android Studio. Para darle más espacio al emulador, cierra la ventana de herramientas del Administrador de dispositivos si está abierta. También puedes extraer la ventana del emulador de Android Studio. Para ello, en la ventana del emulador, haz clic en Settings > View Mode y selecciona Window en lugar de Dock Pinned.

Problemas con los gráficos


Android Emulator se ejecuta lentamente después de una actualización

Varios factores externos pueden causar que Android Emulator comience a ejecutarse de forma lenta después de una actualización. Para empezar con la solución de problemas, te recomendamos que sigas estos pasos:

  • Si tienes una GPU Intel (y, en particular, la Intel HD 4000), asegúrate de haber descargado e instalado la versión más reciente del controlador de gráficos Intel.
  • Si tu computadora tiene una GPU Intel y una GPU discreta, inhabilita la GPU de Intel en el Administrador de dispositivos para asegurarte de estar usando la GPU discreta.
  • Ejecuta el emulador con el modo -gpu swiftshader. Si quieres obtener más información para configurar las opciones de aceleración de gráficos en la línea de comandos, consulta Cómo configurar la aceleración de hardware.
  • Asegúrate de que el router no esté usando direcciones IPv6 si no tienes una conexión de ese tipo.

Si Android Emulator sigue ejecutándose lentamente, informa un error e incluye los detalles necesarios de Android Emulator para que podamos investigar el problema.

Error: No se puede encontrar vulkan-1.dll

Si no se inicia el emulador debido al error vulkan-1.dll cannot be found, es probable que debas actualizarlo. Para actualizar el emulador en Android Studio, ve a Tools > SDK Manager e instala la última versión estable de la plataforma de Android.

Como alternativa, si no necesitas ninguna app que use la biblioteca de gráficos Vulkan, desactiva Vulkan iniciando el emulador desde la línea de comandos con la marca -feature -Vulkan.

No se pudo crear una instantánea

No se admite la creación de una instantánea del emulador que incluya la biblioteca de gráficos de Vulkan. Para ejecutar el emulador sin Vulkan, inicia el emulador desde la línea de comandos con la marca -feature -Vulkan. Como alternativa, puedes desinstalar y evitar usar apps con Vulkan (como Chrome en el nivel de API 30 o superiores) si deseas usar instantáneas como parte del flujo de trabajo de desarrollo.

No se puede abrir correctamente la página web

A partir del nivel de API 30, Chrome usa la biblioteca de gráficos de Vulkan como backend de renderización y podría tener problemas de compatibilidad en ciertas máquinas. Si Chrome no se procesa correctamente, intenta iniciar el emulador desde la línea de comandos con la marca -feature -Vulkan.

Advertencia del controlador de GPU: Se vuelve a renderizar el software

Si recibes una advertencia sobre un controlador de GPU que vuelve a renderizar el software, es posible que tengas una GPU no compatible. De forma predeterminada, se usa el modo automático que podría elegir la renderización de software. Si eliges hardware, deberías poder forzarlo para que use la renderización de hardware (aún se podría mostrar un mensaje de advertencia).

En el caso de las imágenes que no son de Play Store, puedes hacerlo en el Administrador de dispositivos -> 3 puntos -> Editar. Para las imágenes de Play Store, debes editar manualmente esos 2 archivos de configuración:

~/.android/your_avd_name.avd/config.ini

~/.android/your_avd_name.avd/hardware-qemu.ini

y cambia hw.gpu.mode por host.

Ten en cuenta que, si lo haces, es posible que se reduzca la estabilidad del emulador. Consulta este error para obtener más detalles.

El emulador no se inicia en el Escritorio remoto de Chrome para Windows.

Si el emulador no se inicia mientras usas el Escritorio remoto de Chrome en Windows, la solución alternativa recomendada actualmente es usar la marca -gpu, como -gpu host o -gpu swiftshader.

El emulador se comporta de forma incorrecta en macOS en el modo de renderización de hardware.

En dispositivos Mac con Apple Silicon, el emulador usa la biblioteca MoltenVK para la API de Vulkan cuando se selecciona el modo de renderización de hardware. Si bien MoltenVK generalmente proporciona un rendimiento mucho mejor, la biblioteca no es compatible con todas las funciones de Vulkan. En caso de que surjan problemas de compatibilidad, como fallas de compilación del sombreador, fallas gráficas o fallas en tus apps, cambia el modo de renderización a software a través de la configuración del AVD o usa el argumento de la línea de comandos -gpu swiftshader.

Como alternativa, puedes inhabilitar la compatibilidad con Vulkan con el argumento -feature -Vulkan para seguir usando la aceleración de hardware en las apps de GLES.

Problemas de red


Sin Internet: No se puede encontrar la dirección DNS del servidor

Si el emulador no puede conectarse a Internet, intenta iniciarlo desde la línea de comandos con la opción -dns-server “2001:4860:4860::8844,2001:4860:4860::8888,8.8.8.8,8.8.4.4”. Este comando proporciona una lista separada por comas de direcciones IP de DNS público de Google. Para obtener más información sobre el DNS público de Google, consulta DNS público de Google para tus dispositivos.

Sin Internet: Problemas con la resolución de DNS

A veces, las direcciones DNS del archivo /etc/resolv.conf no funcionan correctamente. Para solucionar este problema, inicia el emulador desde la línea de comandos con las opciones -dns-server 8.8.8.8 o -dns.server 2001:4860:4860::8888 para conectarte a través de una red solo IPv6.

Problemas antiguos (en emuladores obsoletos o sistemas antiguos)


No se puede iniciar el AVD

Es posible que un AVD no se inicie si existe un informe de fallas para un emulador más reciente (problema #281725854). Este problema ocurre solo para los usuarios que realicen la actualización de la versión canary 33.x a la versión 32.1.13, hayan experimentado una falla la última vez que ejecutaron la versión 33.x y no hayan reiniciado su AVD desde entonces, de modo que el directorio %TEMP% o /tmp siga activo. Si experimentas este problema, intenta borrar el directorio %TEMP% (/tmp en Linux o macOS).

Windows: No se inicia el emulador si hay Unicode en el nombre del AVD

En Windows, cuando el Administrador de dispositivos crea un dispositivo virtual de Android (AVD), se crea el AVD de forma predeterminada en C:\Users\<name>\.android\avd. Sin embargo, si el nombre del AVD (<name>) tiene Unicode, el emulador no puede iniciar el AVD de forma correcta con esta ubicación predeterminada.

Este problema se solucionó en Emulator 31.3.6 y versiones posteriores. Para resolverlo, selecciona Tools > SDK Manager y actualiza el emulador.

Como alternativa, para solucionar este problema, configura la variable de entorno ANDROID_SDK_HOME en un directorio personalizado antes de crear un AVD. Por ejemplo, crea el directorio C:\Android\home y, luego, configura ANDROID_SDK_HOME en este directorio recién creado. Para obtener más información, consulta Variables de entorno.

Los hipervisores no pueden emular determinadas funciones de CPU que requieren los sistemas Android x86

Por lo general, los hipervisores no pueden emular ciertas funciones de CPU, como las extensiones SIMD de transmisión (SSE), requeridas por los sistemas Android x86.