Androideity

Programación android en español, tutoriales, documentación, noticias, smartphones, tablets, programación android, aplicaciones android

Aumentar en 400% el rendimiento del emulador

| | 34 Comentarios

 

 

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

netcfg

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:

adb connect 192.168.XX.XXXX

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.

 

Comparte este post

Acerca de: David

Desarrollador android colombiano, me gustan los algoritmos,la RA, y el desarrollo web, pienso que puedo cambiar al mundo a traves de la tecnologia y algun dia lo hare :D

Sígueme en Twitter

Leer todos mis artículos

También puede interesarte

Comentarios de este artículo

  • night ynvid

    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?

    • David Toca

      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”

      • DaniYerk

        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

      • Pokazzam

        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??

      • Juan ivan

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

  • Emulationxp

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

    • David Toca

      Corre independiente del IDE :)

  • Asdrúbal Iván Suárez Rivera

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

    • David Toca

      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

      • Marco Antonio Maldonado Azcorr

        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.

        • Orlando

          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

      • Marco Antonio Maldonado Azcorr

        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.

      • Antonio

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

  • Ainus Solheim

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

  • Krlos-90

    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

    • Nelson

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

  • Artemio Cienfuegos

    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 ;-)

  • http://twitter.com/vicmonmena Vicente Montaño Mena

    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

    • William Knowles

      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…..

    • William Knowles

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

  • Pokazzam

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

  • William Knowles

    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?

  • boty

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

  • Juan Carlos

    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

    • Anonymous

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

    • William Knowles

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

      • Alex Oviedo

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

  • Orlando

    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

    • Orlando

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

  • Miguel Salazar Reque

    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 ???

    • Cristian Rojas C.

      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.

  • moises

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

  • Luis

    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 ;)

    • Al

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