Solución de problemas de Android Emulator
En este artículo se describen los mensajes de advertencia y los problemas más comunes que se producen al configurar y ejecutar Android Emulator. Además, describe soluciones para resolver estos errores y varias sugerencias de solución de problemas para ayudarle a diagnosticar problemas del emulador. Para obtener más información, consulte Solución de problemas conocidos con Android Emulator en developer.android.com.
Problemas de implementación en Windows
El emulador puede mostrar algunos mensajes de error al implementar la aplicación. Aquí se explican los errores y las soluciones más comunes.
Errores de implementación
Si se ve un error al instalar el APK en el emulador o al ejecutar Android Debug Bridge (adb), compruebe que Android SDK se pueda conectar con el emulador. Para comprobar la conectividad del emulador, siga estos pasos:
Inicie el emulador desde android Administrador de dispositivos (seleccione el dispositivo virtual y seleccione Iniciar).
Abra un símbolo del sistema y vaya a la carpeta donde está instalado adb. Si android SDK está instalado en su ubicación predeterminada, adb se encuentra en C:\Archivos de programa (x86)\Android\android-sdk\platform-tools\adb.exe; si no es así, modifique esta ruta de acceso para la ubicación del SDK de Android en el equipo.
Escriba el siguiente comando:
adb devices
Si el emulador es accesible desde Android SDK, el emulador debe aparecer en la lista de dispositivos conectados. Por ejemplo:
List of devices attached emulator-5554 device
Si el emulador no aparece en esta lista, inicie Android SDK Manager, aplique todas las actualizaciones y vuelva a intentar iniciar el emulador.
Error de acceso MMIO
Si se muestra el mensaje Se ha producido un error de acceso MMIO, reinicie el emulador.
Ausencia de Google Play Services
Si el dispositivo Android emulado no tiene Google Play Services o Google Play Store instalado, probablemente haya creado un dispositivo virtual que excluya estos paquetes. Al crear un dispositivo virtual, asegúrese de seleccionar una o ambas opciones:
- API de Google: incluye Google Play Services en el dispositivo virtual.
- Google Play Store: incluye Google Play Store en el dispositivo virtual.
Por ejemplo, este dispositivo virtual incluirá Google Play Services y Google Play Store:
Nota:
Las imágenes de Google Play Store solo están disponibles para algunos tipos de dispositivos base como Pixel, Pixel 2, Nexus 5 y Nexus 5X.
Problemas de rendimiento
Los problemas de rendimiento se suelen producir por uno de los problemas siguientes:
- El emulador se ejecuta sin aceleración de hardware.
- Dispositivo virtual que se ejecuta en el emulador mediante una imagen basada en Arm.
En las secciones siguientes se tratan estos escenarios con más detalle.
La aceleración de hardware no está habilitada
Al iniciar un dispositivo virtual y no tiene habilitada la aceleración de hardware, el Administrador de dispositivos muestra un cuadro de diálogo de error similar a la siguiente imagen:
Para corregir este error, siga los pasos de solución de problemas de la sección Problemas de aceleración de hardware .
Problemas de aceleración de hardware
Al usar la aceleración de hardware, puede encontrarse con problemas de configuración o conflictos con otro software en el equipo. El primer paso para solucionar problemas es comprobar que la aceleración de hardware está habilitada. Puede usar el SDK de Android para comprobar esta configuración. Abra un símbolo del sistema y escriba el siguiente comando:
"C:\Program Files (x86)\Android\android-sdk\emulator\emulator-check.exe" accel
Este comando supone que Android SDK está instalado en la ubicación predeterminada de C:\Archivos de programa (x86)\Android\android-sdk. Si android SDK está instalado en otra parte, modifique el comando anterior a la ubicación correcta.
Sugerencia
Asegúrese de que Android Emulator está actualizado. En Visual Studio, presione Herramientas>Android>SDK Manager. Seleccione la pestaña Herramientas y compruebe si la entrada android Emulator tiene una actualización disponible.
Configuración del BIOS incorrecta
Si el BIOS no se ha configurado correctamente para admitir la aceleración de hardware, se mostrará un mensaje similar al ejemplo siguiente al ejecutar el comando emulator-check.exe accel :
VT feature disabled in BIOS/UEFI
Para corregir este problema, reinicie en el BIOS del equipo y habilite las opciones siguientes:
- Tecnología de virtualización (puede tener otra etiqueta según el fabricante de la placa base).
- Prevención de ejecución de datos forzada mediante hardware.
Si todavía se producen problemas debido a problemas relacionados con Hyper-V, consulte la sección siguiente.
Problemas de Hyper-V
En algunos casos, habilitar tanto Hyper-V como Windows Hypervisor Platform en el cuadro de diálogo Activar o desactivar las características de Windows puede que no habilite Hyper-V correctamente. Para comprobar que Hyper-V está habilitado, siga estos pasos:
Escriba PowerShell en el cuadro de búsqueda de Windows.
Haga clic con el botón derecho en Windows PowerShell en los resultados de la búsqueda y seleccione Ejecutar como administrador.
En la consola de PowerShell, escriba el comando siguiente:
Get-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All -Online
Si Hyper-V no está habilitado, se mostrará un mensaje similar al ejemplo siguiente para indicar que el estado de Hyper-V está deshabilitado:
FeatureName : Microsoft-Hyper-V-All DisplayName : Hyper-V Description : Provides services and management tools for creating and running virtual machines and their resources. RestartRequired : Possible State : Disabled CustomProperties :
En la consola de PowerShell, escriba el comando siguiente:
Get-WindowsOptionalFeature -FeatureName HypervisorPlatform -Online
Si el hipervisor no está habilitado, se mostrará un mensaje similar al ejemplo siguiente para indicar que el estado de HypervisorPlatform está deshabilitado:
FeatureName : HypervisorPlatform DisplayName : Windows Hypervisor Platform Description : Enables virtualization software to run on the Windows hypervisor RestartRequired : Possible State : Disabled CustomProperties :
Si Hyper-V o HypervisorPlatform no están habilitados, use los siguientes comandos de PowerShell para habilitarlos:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform -All
Cuando se completen estos comandos, reinicie.
Para obtener más información sobre cómo habilitar Hyper-V (incluidas las técnicas para habilitar Hyper-V mediante la herramienta de Administración y mantenimiento de imágenes de implementación), vea Instalar Hyper-V.
Más sugerencias para la solución de problemas
Las sugerencias siguientes suelen ser útiles para diagnosticar problemas de Android Emulator.
Inicio de Android Emulator desde la línea de comandos
Si el emulador aún no se está ejecutando, puede iniciarlo desde la línea de comandos (en lugar de desde Visual Studio) para ver su salida. Normalmente, las imágenes avD del emulador de Android se almacenan en la siguiente ubicación: %userprofile%\.android\avd.
Puede iniciar el emulador con una imagen de AVD desde esta ubicación si pasa el nombre de la carpeta del AVD. Por ejemplo, este comando inicia un AVD denominado Pixel_API_27:
"C:\Program Files (x86)\Android\android-sdk\emulator\emulator.exe" -partition-size 2000 -no-boot-anim -verbose -feature WindowsHypervisorPlatform -avd pixel_5_-_api_30 -prop monodroid.avdname=pixel_5_-_api_30
Este comando supone que Android SDK está instalado en la ubicación predeterminada de C:\Archivos de programa (x86)\Android\android-sdk. Si android SDK está instalado en otra parte, modifique el comando anterior a la ubicación correcta.
Visualización de registros de Device Manager
A menudo, se pueden ver los registros de Device Manager para diagnosticar problemas del emulador. Estos registros se escriben en la siguiente ubicación: %userprofile%\AppData\Local\Xamarin\Logs\16.0.
Puede ver cada archivo DeviceManager.log mediante un editor de texto.