Una alternativa al emulador del SDK de Android, Android-x86.:
Android tiene cosas buenas y malas, el emulador de su
SDK es una de las malas, es lento y pesado como una tortuga con caparazón de plomo, y no es porque esté mal hecho, se debe a que emula un procesador
ARM con todo lo que ello conlleva. Por esto la mayoría de desarrolladores acaban probando sus aplicaciones en los dispositivos a los que tienen acceso, evitando el emulador y su
lag como la peste.
Existe otra opción,
Android-x86, que podemos correr en una máquina virtual en la misma arquitectura y con un rendimiento cuatro veces superior al del emulador. Aquí se explicará como instalar y configurar
Android-x86 2.3 Gingerbread en
Virtualbox para conectarlo con
SDK. Para ello necesitamos una imagen de
Android que podemos descargar de
aquí (utilizaremos el archivo
android-x86-2.3-RC1-eeepc.iso).
El primer paso es crear una máquina virtual con las siquientes características:
- Nombre: Gingerbread
- Sistema operativo: Linux
- Versión: Other Linux
- 1 GB de memoria RAM
- Un disco duro de 1 GB (tipo
.vdi) reservado dinámicamente.
- Un segundo disco duro de 1 GB (tipo
.vdi) de tamaño fijo que usaremos como tarjeta SD.
- Controlador de audio: SoundBlaster16
- Aceleración 3D activada y 24 MB de video.
Una vez creado añadimos la imagen de instalación en
Configuración → Almacenamiento → CD-ROM e iniciamos la máquina virtual.
Para comenzar con la instalación seleccionarmos la opción
Installation – Install Android-x86 to harddisk. Lo primero es dar formato a los discos duros, una partición
ext3 para la unidad
sda y una partición
FAT16 para la unidad
sdb, una vez hecho esto podremos instalar
Android en la primera. Finalizada la instalación, apagamos la máquina y retiramos la imagen de instalación de la lista de dispositivos de almacenamiento.
Ahora mismo ya tenemos una máquina corriendo
Android, pero al tratarse de un imagen creada especificamente para
Eee PC vamos a tener que configurarla para algo más parecido a un
Smartphone. Para ello introduciremos, mediante consola, diferentes modos gráficos mas propios de un móvil:
~$ VBoxManage setextradata "Gingerbread" "CustomVideoMode1" "320x480x16"
~$ VBoxManage setextradata "Gingerbread" "CustomVideoMode2" "640x960x16"
~$ VBoxManage setextradata "Gingerbread" "CustomVideoMode3" "480x720x16"
Una vez hecho esto iniciamos la VM en modo depuración (
debug mode) y montamos la particion de arranque en modo
lectura/escritura para modificar la configuración del
GRUB:
# mount -o remount,rw /mnt
#vi mnt/grub/menu.lst
Si no te sientes cómodo trabajando en modo depuración o le tienes ojeriza a
vi siempre puedes montar el disco duro en una máquina vistual con
Ubuntu y modificarlo desde allí.
Lo que tenemos que hacer es duplicar una de las las opciones de inicio, tienen este aspecto:
title Android-x86 2.3-RC1 (HDPI)
kernel /android-2.3-RC1/kernel quiet root=/dev/ram0 androidboot_hardware=eeepc acpi_sleep=s3_bios,s3_mode DPI=240 SRC=/android-2.3-RC1
initrd /android-2.3-RC1/initrd.img
Y modificarla para que quede así:
title Android-x86 2.3-RC1 Custom
kernel /android-2.3-RC1/kernel quiet root=/dev/ram0 SDCARD=sdb1 androidboot_hardware=generic_x86 acpi_sleep=s3_bios,s3_mode vga=ask SRC=/android-2.3-RC1
initrd /android-2.3-RC1/initrd.img
Simplemente hemos añadido los parámetros
SDCARD=sdb1 y
vga=ask, el primero indica donde se encuentra la partición que se usará como tarjeta SD y el segundo permitirá elegir el modo gráfico al inicio de la máquina virtual.
Ahora que ya está todo configurado, iniciamos la máquina y seleccionamos la opción
Android-x86 2.3-RC1 Custom.
Como se puede ver las tres últimas opciones gráficas son las que introducimos anteriormente, elegimos una de ellas y listo.
Para manejar
Android en
Virtualbox:
- Primero desactivamos la integración de ratón en
Maquina → Inhabilitar integración de ratón.
- Alt + F1 cambia a modo CLI.
- Alt + F7 cambia a modo GUI.
- Esc equivale a 'atrás'.
- F2 equivale a 'menú'.
- F3 corresponde a 'buscar'.
- El botón Windows equivale a 'Inicio'.
Solo queda conectar la máquina virtual al
SDK, para ello dentro de la carpeta
/android-sdk-linux_86/platform-tools y conociendo la dirección IP:
~$ ./adb connect 192.168.3.12
Y ya tendremos conectada la máquina virtual al
SDK, pudiendo subir archivos, probar aplicaciones e incluso
instalar el Android Market.