Este es un error común sobre todo si tiene algunas actualizaciones o instalaste las herramientas de Xamarin y el emulador de visual estudio para android todo por separado.
para solucionar el error del porque el emulador no inicia cuando abrimos una solución con Xamarin en visual studio lo primero que tenemos que verificar es si todos los directorios están instalados de forma correcta.
para esto iremos a el menú
Tools y luego iremos al final de la lista en
Options...
|
Click en la imagen para agrandar |
Aquí veremos todas las opciones de visual studio iremos a la parte donde dice
Xamarin (son listas desplegables)
|
Click en la imagen para agrandar |
Justo aquí verificaremos que los 3 directorios estén enlazados de forma correcta.
- El Java SDK en su versión 1.8
- El Android SDK
- El Android NDK
Después de verificar esto procederemos a ver las opciones del emulador, en muchos casos el emulador que provee el SDK de Android va demasiado lento sobre todo si tenemos en cuenta que tenemos un entorno de desarrollo limitado (procesador no tan potente y limitaciones de ram).
Existen 4 herramientas de emulación que pueden utilizarse en Visual Studio (sin añadir sorftware extra y que posiblemente ya dispongan) .
- El Android Device Manager (AVD) que es bastante lento
- El Emulador de Intel Hardware Accelerated Execution Manager (Intel HAXM) no disponible en procesadores sin Intel-VT ni en procesadores AMD
- Xamarin Android Player que esta limitado por el servicio de Hyper-V de Microsoft Windows (solicita desactivar el servicio) y solo tiene las imágenes de emulación de los dispositivos Nexus.
- Visual Studio Emulator For Android que utiliza el servicio de Hyper-V de Microssoft Windows con instrucciones x86-x64
De todos los emuladores que he tenido la fortuna de probar en entornos de desarrollo limitados el que mejor se desempeña es el Visual Studio Emulator For Android, para verificar que se encuentra instalado procederemos a abrir el menu
Tools y luego buscaremos el menú con su nombre.
|
Click en la imagen para agrandar |
Es una abstraccion del servicio de Hyper-V de hecho por cada dispositivo que creemos aqui tendremos acceso a el desde el Administrador de Hyper-V.
|
Click en la imagen para agrandar |
Lo que nos ataña es poder iniciar el emulador y conectar el depurador de visual studio al la instancia de Hyper-V que por alguna razón que todavía desconozco no lo hace de forma automática para ello necesitaremos iniciar la instancia, en el símbolo de Play (Flecha Verde)
|
Click en la imagen para agrandar |
Con el Emulador ya iniciado procederemos a abrir el cuadro de herramientas que corresponde a la ultima doble flecha color blanca
|
Click en la imagen para agrandar |
Una vez aquí iremos a la pestaña de Network y copiaremos la dirección IP del segundo adaptador de red que posea el dispositivo emulado.
|
Click en la imagen para agrandar |
En este caso es 192.168.1.9 luego de tener esta dirección procederemos a conectar el Android Debug Bridge a la maquina virtual del dispositivo emulador, para esto abrimos el menú
Tools y en el apartado de Android nos dirigimos a la ultima opcion
Android Adb Command Prompt...
|
Click en la imagen para agrandar |
Una vez aqui solo restaria agregar el comando para conectar la instancia de ADB con el emulador, para ello ingresamos el comando adb connect 192.168.1.9
|
Click en la imagen para agrandar |
Una vez llegado a este punto cada vez que iniciemos el emulador podremos ver la aplicacion corriendo dentro de el y esto sera valido hasta que el servicio de adb sea interrumpido (sea por un reinicio o por error en tiempo de ejecución del servicio adb) de suceder solo es necesario reiniciar el servicio desde el adb command prompt conectando a la IP del emulador.