Es infinitamente más rápido desarrollar aplicaciones Android usando una máquina virtual que el emulador de Android Studio. Así que:

Requisitos

  • Android SDK instalado. En el momento de escribir estas líneas, Google se ha pulido el soporte a Eclipse y hay que bajar el Android Studio
  • Máquina virtual con Android. Puedes ver cómo se crea aquí
  • Algún conocimiento de Linux
  • Algún conocimiento de redes
  • Conocimientos de máquinas virtuales

En la máquina virtual

Iniciar la máquina Android. Pulsar ALT+F1 para ir a la primera consola.

En mi caso no se veía la consola, así que si también es tu caso, escribe a ciegas “clear” y pulsa Intro (si puede ser desde el menú home de Android)

Importante para volver a la consola gráfica, hay que pulsar ALT+F7

  • Comprueba que el adaptador de red de la máquina virtual Android está en modo red privada con el host

Puede ser que la tarjeta esté DOWN. En este caso, la podemos levantar con:

$ inconfig eth0 up

Si cambias el tipo de adaptador, tendrás que refrescar la IP (sustituye eth0 por el dispositivo de tu tarjeta)

$ dhcpcd -k eth0
$ dhcpcd eth0

Si no funciona el DHCP (posiblemente porque esté deshabilitado en la red del VirtualBox, VMWARE, ect), podemos configurar la red a mano:

$ ifconfig eth0 192.168.56.100 netmask 255.255.255.0 up

Sustituyendo la IP 192.168.56.100 por una IP libre de la red privada con el host

  • Ejecuta netcfg y mira la IP del adaptador de red
$ netcfg

Para comprobar que tenemos conexión con el host, podemos hacer un ping:

$ ping 192.168.56.1

Lo mismo que antes, sustituyendo 192.168.56.1 por la IP que tenga el host en la red privada virtual.

Dejamos la máquina virtual Android.

En la máquina física

Vuelve a la máquina física (host) y desde la ventana de comandos, prueba a hacer un ping a la IP anterior

> ping 192.168.56.155

Si no te devuelve ping, la red está mal configurada

Continuamos. Desde la línea de comandos, busca dónde se encuentra el comando Android Debug Bridge (adb.exe en Windows)

> cd \
> dir /s adb.exe

Situaté en el directorio del fichero adb.exe y ejecuta lo siguiente:

> adb start-server
> adb connect 192.168.56.155
> adb devices

Si todo ha ido bien, te mostrará la lista de dispositivos conectados sin ningún error.

Ves a Android Studio y ejecuta una aplicación:

Habrás terminado…

… si en la lista de dispositivos virtuales aparece tu máquina virtual

Bonus track (añadiendo conexión a Internet)

Para poder conectarse a Internet, nuestra máquina deberá tener dos tarjetas de red: una para hacer NAT y la otra para la red interna.

  1. Apagamos la máquina virtual
  2. Configuramos las tarjetas de redes (dos en total)

3. Volvemos a arrancar

4. Pasamos a la consola 1 (ALT+F1)

$ netcfg
$ dhcpcd -k eth0
$ dhcpcd -k eth1
$ dhcpcd eth0
$ dhcpcd eth0

6. Comprueba que haces ping a alguna dirección de Internet

$ ping www.google.com

No te fíes de las IPs de las tarjetas. El Adaptador 1 pusimos que era el NAT (salida a Internet) y el Adaptador 2 es el de la red interna

7. Vuelve a la consola gráfica (ALT+F7)

8. Vuelve a la máquina física (Host)

9. Conectar adb

$ adb connect 192.168.56.102
$ adb devices