Error Emulador Android SDK Cordova Hyper-V vs Intel HAXM

0

Hace un tiempo dejó de funcionar en mi Windows 8 el Emulador Android, luego sucedió lo mismo en Windows 10. El problema estaba asociado a Hyper-V que se activó en Windows 8 al realizar algunas instalaciones en torno a desarrollos con Visual Studio 2013 y 2015, en el caso de Windows 10 se instaló por defecto cuando lo instalé y agregué Visual Studio 2015.

Emulador Android

El tema es que hasta hoy no había dedicado tiempo a buscarle la vuelta y lograr que se ejecute nuevamente el Emulador Android ya que me manejaba con dispositivos fisicos para testear mis aplicaciones en desarrollo, lo siguiente es al fin el resultado de pruebas para solucionarlo de forma definitiva en varios PCs.

Error Emulador Android

El error que reportaba era el siguiente y se da en diferentes situaciones en Windows

emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure Intel HAXM is properly installed and usable.
CPU acceleration status: HAX kernel module is not installed!

El mi caso el error estába asociado a Hyper-V y se daba a nivel de Android SDK, por tanto comprendía a toda aplicación que ejecutara desde Netbeans, Eclipse, Android Studio, o incluso aplicaciones Cordova desde la línea de comandos y hasta el mismo Visual Studio, si jeje. Cualquiera de estos entornos al llamar el emulador reportaba ese errror y no ejecutaba, por tanto debía contar con un dispositivo físico para probarlas.

Verificando Instalación de JAVA SDK

Por las dudas repasemos que JAVA esté instalado y las variables de entorno necesarias definidas como debe ser. Desde la línea de comando ejecutamos:

c:\> java -version
java version «1.8.0_60»
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

esto nos muestra que esta instalado y funcional, aunque en algunos casos necesitamos conocer un poco más, por ejemplo la ruta de instalación que suele ser en Archivos de Programas / Program Files.

En el registro de Windows, ejecutando:

regedit
en la siguiente key también podemos verificar estos valores
HKEY_LOCAL_MACHINE\Software\JavaSoft

en mi caso por utilizar java 1.8.0_60 dentro de la key anterior, en HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.8.0_60 en JavaHome tenemos el path de instalación, para este caso  C:\Program Files\Java\jdk1.8.0_60

Variables de Entorno de JAVA

Algunos IDE, Editores o el mismo Cordova requiren el seteo de algunas variables de entorno adicionales y el path, estas son:

JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60   (acá indicamos el camino donde está el SDK de JAVA)

ANDROID_HOME=C:\Android\SDK   (acá indicamos el path donde tenemos nuestro SDK de Android)

PATH=…… ;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;    (debemos agregar al Path el camino a Tools y Platform-Tools, en este caso puede ir el camino completo o utilizar la variable ANDROID_HOME que seteamos más arriba)

Verificar Instalación de Intel HAXM

La forma más sencilla es entrar al Android SDK Manager y verificar que esté instalada o clickear desde ahí para instalarla, debemos buscar al final de la lista: Intel x86  Emulator Accelerator (HAXM installer), como indica la imagen.

Android SDK HAXM Emulador

Con todo esto verificado vamos a solucionar el problema del error de ejecución del Emulador Android por no cargar HAXM.

Emulador Android vs Hyper-V

El problema del error de ejecución del Emulador Android estaba ligado como comentaba al comienzo al Hyper-V, o sea el emulador propuesto por Microsoft. Lo primero que tenemos que hacer es desactivarlo, para esto en la línea de comando como Administrador ejecutamos:

dism.exe /Online /Disable-Feature:Microsoft-Hyper-V

en este punto debemos reiniciar el equipo antes de continuar y que se complete la desactivación de Hyper-V.

Al reiniciar, vamos a ejecutar nuevamente el instalador de HAXM de forma manual, en el caso de este ejemplo el archivo intelhaxm-android.exe estaria en la carpeta:

C:\Android\sdk\extras\intel\Hardware_Accelerated_Execution_Manager

aunque preferí ejecutar el bat de instalación llamado silent_install.bat.

Existen otras propuestas de soluciones, pero este es el que me ha funcionado en todos los ambientes de pruebas en diferentes equipos con Windows 7, 8, 10 de 32 y 64 bits con instalaciones previas o no de Visual Studio, Hyper-V, Android SDK, Java SDK y otros.

Espero les sirva de ayuda y si tienen algún comentario o consulta los espero en los comentarios de mi blog.






Los comentarios estan cerrado.