Aumentar en 400% el rendimiento del emulador

 

 

La razon por la cual el emulador de android es tan lento se debe en gran medida a la traduccion que debe hacer, de las instrucciones ARM a x68, asi que para solucionar esto, lo que vamos a hacer es montar una version de android que corra directamente instrucciones x68, dentro de una maquina virtual, en este caso, vamos a usar virtualbox.

Lo primero que haremos sera descargar la imagen de android x86 de la pagina oficial del proyecto http://www.android-x86.org/download , en este caso usaremos la android-x86-2.3-RC1-eeepc.iso (con las versiones anteriores no se puede tener conectividad de red ).

Una vez tengamos la imagen .iso,abrimos virtualbox(es gratuito, lo pueden descargar aqui) y procedemos a crear una nueva maquina virtual con las siguientes caracteristicas:

  • target OS: Linux
  • target OS version: others
  • 1GB para RAM y 1 CPU , las demas opciones se dejan como estan.
  • añadir un nuevo disco duro VDI drive, reservado dinamicamente(dynamically sized), 512 Mb

Una vez creada, procedemos a instalar la imagen que descargamos anteriormente, para ello, vamos a insertar la imagen dentro de la unidad de cd de la maquina virtual, entrando en su configuracion , nos vamos a la pestaña de almacenamiento, y seleccionamos la unidad de cd, luego hacemos click en el icono del cd (puede variar dependiendo de la version de virtualbox, en mi caso estoy trabajando con la version 4.1.6 ), y procedemos a seleccionar la imagen descargada.

 

 

Ahora iniciamos la maquina virtual, en donde veremos el siguiente menu:

Seleccionamos instalacion en el disco duro, y a continuacion  debemos crear una nueva particion:

  • opcion create/modify partitions -> new -> primary
  • seleccionamos la opcion bootable
  • seleccionamos write, y confirmamos escribendo yes
  • y retornamos al menu anterior con quit.

Ahora seleccionamos  la particion creada, nos preguntara si deseamos formatearla y selecionamos ext3, para lo demas seleccionamos las opciones  por defecto.

Al terminar apagamos la maquina virtual y quitamos la unidad de cd (de otro modo, siempre iniciara desde el cd).

Al reiniciar debemos ver un menu de arranque, seleccionamos la primera opcion,  debemos tener nuestro android corriendo en la maquina virtual :)

Una vez finalizada la instalacion, debemos asegurarnos de tener conectividad entre la maquina virtual y nuestro equipo, la opcion mas facil es configurarlo con la opcion “red interna”, sin embargo con esta opcion no tendremos internet, por lo que recomiendo que seleccionen “adaptador puente”, y seleccionen la interfaz de red que usan para conectarse a internet (ya sea eth0 o wi-fi).

Nota: Para que la maquina virtual tome los cambios en la configuracion de red, debemos reiniciarlo.

Para verificar la conexion vamos a realizar un ping, y para ello necesitamos la ip de la MV, para saber cual es, iniciamos la MV, y una vez en android, presionamos Alt+F1, en la consola escribimos

Nos dara una ip de la forma 192.168.XX.XXXX, ahora le realizamos un ping verificando la conectividad, si no nos responde, debemos verificar la configuracion de la red de la maquina virtual. En caso contrario, conectamos nuestra maquina virtual como si se tratara de un dispositivo android:

Nota: Recuerden tener el adb en su path, o ir a la ubicacion del adb antes de ejecutar el comando

Una vez se conecte, podemos ejecutar nuestras aplicaciones directamente en el emulador, como si de un dispositivo externo con android se tratara

 

Notaran un incremento significativo del emulador, sobretodo en los siguientes casos:

  • El emulador inicia en aprox  2 seg en vez de los usuales 30 seg
  • Correr y depurar las aplicaciones es mucho mas rapido (no ahi lag como cuando se usa el emulador ARM)
Espero que este tutorial les haya sido de ayuda tanto como a mi, recuerden compartirlo y  cualquier duda o pregunta pueden dejarla en los comentarios. Happy Coding.

 

34 Comments


  1. HOla saludos, en el caso de instalarlo en vbox, como puedo instalar una aplicacion, ya que por ejemplo eclipse mediante el plugin realiza el deploy en el emulador, ¿pero en la que instale en vbox como puedo instalar la aplicacion?

    Reply

    1. Simplemente se corre directo en eclipse, es como tener un dispositivo android conectado al pc, en todo caso, si no lo ejecuta en la maquina virtual, se puede configurar en eclipse en run Configurations-> Target y seleccionando la maquina virtual, en ultimas, si no esta, se debe correr de nuevo el comando “adb connect la_ip_de_la_maquina_virtual”

      Reply

      1. ME llamo dani de Gerona – Catalunya (SPAIN)
        como es eso de particiones y tal? ando con Win7 profesional.
        no entiendo como puedes hacer una particion como si nada xD

        Reply

      2. ya ejecute el comando adb connect, y si me dice que esta conectado, pero no aparece en el menu de eclipse que dicces, que puede ser??

        Reply

      3. A mi tambien me dice que esta conectado pero no aparece en la lista de dispositivos, Ayuda gracias

        Reply

  2. Asumo se debe instalar un ide en esa version no? o corre directamente el emulador sin mas…?

    Reply

  3. Interesante esto! Ahora bien… Supongamos que se quiere probar un dispositivo determinado en el Android x86, esto podria ser posible?

    Reply

    1. Se puede adecuar la maquina virtual con las caracteristicas del dispositivo (procesador, ram, y la resolucion de la pantalla), tambien se puede simular una SD

      Reply

      1. Busque busque y busque pero no encontre como cambiar la orientación a portrait o como cambiar la resolucion de pantalla te agradeceria muchisimo que me ayudaras ya que es mas facil testear asi mis aplicaciones.

        Reply

        1. con alt+F9 F10 F11 F12 vas rotando la pantalla … pero no puedo cambiar la resolucion de la pantalla :/ necesito emular un galaxy tab2 10.1 1280×800 px

          Reply

      2. Busque busque y busque pero no encontre como cambiar la orientación a portrait o como cambiar la resolucion de pantalla te agradeceria muchisimo que me ayudaras ya que es mas facil testear asi mis aplicaciones.

        Reply

      3. por favor, explica como cambiar la resolucion de pantalla (ke no redimensionar la ventana), gracias

        Reply

  4. Hay una errata y es que denominas x68 a la plataforma x86

    Reply

  5. Como hago para que android me reconozca el mouse, porque ya lo instale según los pasos que mencionas, pero no puedo navegar por el sistema con el mouse

    Reply

    1. En la maquina virtual, abajo hay un icono de usb hay escoges la opcion de instalar el mouse y ya.

      Reply

  6. Muy interesante la verdad, pero tengo exactamente el mismo problema que Krlos-90, a ver si nos puedes ayudar… fijo que es una “tonteria”.

    Un saludo y buenísima aportación… va como un tiro 😉

    Reply

  7. Perfecto! me funcionó y ya noto ese 400%!! Solamente una observación:

    La última perte del tutorial, en la que hacéis referencia a la conexión, a mi me ha llevado a confusión, es decir, yo pensaba que una vez detectase que existía conexión (haciendo ping como decís) ya podía ejecutar mi aplicación en Eclipse en la MV; sin embargo, parece que la conexión que luego añadis diciendo “en caso contrario”, no es en ese caso contrario, sino que hay que hacerlo, sino Eclipse no se entera de que existe esta MV.

    Muchísimas graciassss

    Reply

    1. Hola…me podrias ayudar …SOY William Knowles ya deje un comentario en este pos …y pos no he obtenido respuesta será que ud me puede decir cuales son la caracteristicas que debo tener tanto en hardware como en software para optimizar el simulador…anteano GRACIAS…..

      Reply

    2. disculpame quise decir de antemano……..esque estos teclados baratos….tu sabes…

      Reply

  8. bien, carga rapido yo todo bien, pero como pruebas tu aplicacion de motodev o eclipse en este emulador??????????????

    Reply

  9. yo tengo un equipo portatil acer aspire 5920, pues y win7 y descargue las sigiientes imagenes:
    android-x86-3.2-RC2-eeepc
    android-x86-3.2-RC1-eeepc
    android-x86-2.2-r2-asus_laptop
    como maquina virtual descargue ORACLE VM virtual box la ultima version
    ya grave cada imagen en un cd y no reconoce no se que acer me pueden ayudar?

    Reply

  10. En si, como paso la APP .apk Al VirtualBox?? Falto explicar eso

    Reply

  11. Lo que odio de los blogguers es esa necedad de poner titulos engañosos que no tienen nada que ver con el contenido del post. Aqui no estas aumentando la velocidad del propio emulador del android, simplemente estas creando una maquina virtual con android encima! obviamente corre mas rapido! Pero para nada estas aumentando la velocidad de lo que es el propio emulador pues ya no estaras usando para probar tus aplicaciones, estas usando la maquina virtual.

    Fuera de eso esta bien explicado el asunto ya que con esta maquina virtual con android encima podras probar tus aplicaciones utilizando la API de Bluetooth ya que en el emulador no se puede, incluso con otras API´s

    Reply

    1. Juan Carlos disculpa mira instalé ubuntu 10.04, pero la maquina virtual no se quiere instalar nesesariamente tengo que estar conectado a internet????

      Reply

    2. Juan Carlos disculpa mira instalé ubuntu 10.04, pero la maquina virtual no se quiere instalar nesesariamente tengo que estar conectado a internet????

      Reply

      1. Seria bueno que dieras más detalles para que alguien te ayude, porque asi tal como lo escribes no dices nada acerca del problema

        Reply

  12. al formatear el disco en ext3 aperece un mensaje de error “Cannot mount /dev/sda1 Do you want to format it ? yes no ” la respuesta que le de me dice que no se puede instalar y vuelve a preguntar lo mismo. porfa si alguien sabe que hacer

    Reply

    1. lo descubri solo….. era la imagen que baje tiene que ser “eeepc”

      Reply

  13. Hola buenos días , terminé de instalar la maquina virtual pero no logro que el mouse se integre (si tengo instalado los guest additions … que pudo hacer ???

    Reply

    1. Sobre la ventana activa dale Host+i ó click derecho sobre el el icono inferior con forma de icono y seleccionar Inhabilitar Integración del Mouse.

      Reply

  14. 30segundos normalmente? uff a mi me demora 3 a 5 minutos y mi pc no es malo… uso windows 7

    Reply

  15. Hola, me gusto mucho el articulo, lo seguí al pie de la letra y ya pude instalar Android en la Maquina Virtual y también hice la conexión para que hiciera ping, pero no se como hacer para que las aplicaciones que desarrolle en Eclipse se ejecuten en la maquina virtual, ¿me podrían decir como hacerlo? Intente asignaran directamente el Target pero no aparece en la lista de los dispositivos. Espero que me puedan ayudar 😉

    Reply

    1. Asegúrate de ejecutar cmd como administrador, para poder hacer el connect correctamente

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *