viernes, marzo 28, 2014

¿Cómo Acelerar el Emulador de Android?


Si eres un desarrollador Android, sabes que el emulador toma mucho tiempo para arrancar (sin mencionar el lento desempeño una vez que ya está funcionando) y esto afecta tu productividad.
Afortunadamente, si cuentas con un equipo razonablemente moderno con un procesador Intel® que tenga Intel® Virtualization Technology habilitada, puedes hacer usó de está tecnología para acelerar significativamente el emulador de Android. En esté artículo explicaremos los pasos necesarios para hacer esto. Es posible hacerlo tanto en sistema operativo Windows cómo en Mac OS y Linux. En los dos primeros casos se utiliza Intel® Hardware Accelerated Execution Manager (Intel® HAXM), y en el caso de Linux se utiliza KVM.

1. Introducción

A continuación te guiaremos para realizar la instalación del Intel® Hardware Accelerated Execution Manager (Intel® HAXM), un motor de virtualización asistido por hardware (hipervisor) que usa Intel® Virtualization Technology (Intel® VT) para acelerar el desarrollo de Android en Windows y OSX. También explicamos cómo configurar una máquina virtual basada en kernel (KVM) asistida por hardware en Linux.

2. Instalación

2.1. Prerrequisitos

  • Tener instalado el kit de desarrollo de software (SDK) de Android.
  • Tu equipo debe tener un procesador Intel compatible con Intel VT-x y EM64T, y con la funcionalidad Execute Disable (XD) Bit habilitada desde el BIOS.

2.2. Instalación en Windows

Después de haber instalado el SDK de Android, abre el SDK Manager. En la sección de extras, podrás encontrar el Intel HAXM.
Marca la casilla y haz clic en el botón “Install packages…”; cuándo hayas instalado el paquete, el estado aparecerá cómo “Installed”. Esto es engañoso, ya que en realidad no queda instalado. El SDK tan sólo copia el ejecutable de Intel HAXM a nuestra máquina, pero todavía tenemos que instalarlo. Para instalar el ejecutable de Intel HAXM, busca en tu disco duro IntelHaxm.exe (o IntelHAXM.dmg en Mac OS X). Si dejaste todos los valores predeterminados, debería estar en C:Program FilesAndroidandroid-sdkextrasIntelHardware_Accelerated_Execution_ManagerIntelHaxm.exe.
Intel HAXM sólo funciona en combinación con una de las imágenes de sistema x86 de procesador Intel® Atom™. Al momento de publicar esté artículo existen imágenes x86 disponibles para Android 2.3.3 (API 10), 4.0.3 (API 15), 4.1.2 (API 16), 4.2.2 (API 17) y 4.3 (API 18). Estás imágenes de sistema de Intel se pueden instalar de la misma manera que las imágenes basadas en ARM, mediante el administrador de SDK.
haxm01.jpg
Cuando das clic en el ejecutable de IntelHaxm, se muestra una pantalla de bienvenida cómo esta:
haxm03.jpg
haxm04.jpg
Puedes ajustar la cantidad de memoria RAM que se asigna a Intel HAXM. Después de ajustarla, haz clic en “Next”. La pantalla siguiente confirma la asignación de memoria. Si todo está cómo lo desea, haz clic en “Install”.
haxm05.jpg
A fin de poder instalar el Intel HAXM, debes tener habilitada Intel VT-x en el BIOS, si no, verás un error cómo esté durante la instalación:
haxm06.jpg
Si se produce esté error, ve al BIOS y habilítala.
haxm07.jpg
La segunda opción para descargar el Intel HAXM y la imagen de sistema del emulador x86 Emulator System Image es ir directamente al sitio web: http://software.intel.com/es-es/android y descargar de allí todos los componentes necesarios.

2.3. Instalación en Linux

Los pasos para acelerar el emulador de Android en Linux son diferentes que en Windows y Mac OS X, porque Intel HAXM no es compatible con Linux, así que es necesario usar KVM en su lugar. Los pasos que se muestran a continuación corresponden a Ubuntu* 12.04 y pueden diferir ligeramente en otras distribuciones de Linux.

2.3.1. Instalación de KVM

Para instalar y ejecutar KVM, primero necesitas comprobar que tu CPU admite virtualización de hardware. Tal vez la forma más práctica de hacer esto es con el comando “kvm-ok” que se encuentra en el paquete “cpu-checker”.
  1. $ sudo apt-get install cpu-checker
  2. $ sudo kvm-ok
Este comando nos indicará si nuestro equipo cuenta con la capacidad de ejecutar KVM y si ya está habilitado en el BIOS o tenemos que habilitarlo.
El siguiente paso es instalar la KVM y otros paquetes necesarios. Para hacerlo, escribe:
  1. $ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
Si obtienes una pantalla de configuración de Postfix, selecciona “No configuration”.
A continuación, agrega tu usuario al grupo KVM y al grupo libvirtd. Para hacerlo, escribe:
  1. $ sudo adduser your_user_name kvm
  2. $ sudo adduser your_user_name libvirtd
Después de la instalación, vuelve a iniciar sesión y los cambios surtirán efecto. Para probar la instalación, escribe:
  1. $ sudo virsh -c qemu:///system list
Ahora puedes ir al paso siguiente, que es crear y ejecutar el dispositivo virtual de Android (AVD). Esté procedimiento es el mismo para Linux y Windows.

2.4. Cómo crear un AVD (dispositivo virtual de Android*)

Después de instalar el SDK e Intel HAXM (o KVM en Linux), puedes crear un dispositivo virtual que tenga emulación acelerada por hardware. Para hacerlo, ve a AVD Manager y crea un nuevo dispositivo. Asegúrate de seleccionar Intel Atom (x86) cómo CPU/ABI. Está selección sólo aparece en el menú desplegable si tienes instalada la imagen de sistema x86 Intel; para que los gráficos sean más suaves, activa la emulación de GPU cuándo crees el AVD.
Haz clic en New y crea tu AVD x86. Asegúrate de elegir una API compatible con imágenes de sistema x86, que CPU/ABI esté establecido en x86 y de haber habilitado la emulación de GPU (OpenGL ES*). Cuándo hayas hecho esto, haz clic en Create AVD para crear el AVD.
haxm11.jpg
Para iniciar el AVD x86, haz clic en Start y luego en Launch.
haxm12.jpg
Si la instalación fue exitosa, cuándo se esté iniciando el emulador, aparecerá un cuadro de diálogo que indicará que Intel HAXM se está ejecutando en modo virtual rápido. También puedes revisar los detalles en “About phone” dentro del emulador.

Conclusión

En esté artículo hemos revisado cómo podemos apoyarnos en las capacidades de los procesadores Intel para acelerar el emulador para Android en Windows, Mac y Linux. La mejora de rendimiento que apreciarás con Intel HAXM o KVM depende de tu equipo, pero debería ser entre 5 y 10 veces mejor que al no usar aceleración.
Si deseas conocer más herramientas y recursos que ofrece Intel para desarrolladores Android, te recomendamos que visites la zona para desarrolladores Android en http://software.intel.com/es-es/android

Fuente:Articulo Original

No hay comentarios: