Si desarrollas con Eclipse aplicaciones para Android, y no tienes una máquina muy potente, te habrás dado cuenta de que usar el emulador y Eclipse al mismo tiempo, puede ser un problema. ¿Tienes una segunda máquina a tu disposición? Esta es tu receta entonces.
Lo mínimo necesario es:
Cuando arrancas el emulador (QEmu), tienes disponibles un par de puertos (5554 y 5555) con los que el plugin de Eclipse se conectará al dispositivo emulado. Dado que se usa TCP/IP para esta comunicación, no importa donde estén Eclipse o el emulador. Sin embargo, (y por lo menos en el SDK para Android 2.3), se escucha en la interfaz local (127.0.0.1). Así que lo único que tienes que hacer es instalarte redir en A y realizar las redirecciones oportunas.
A$ sudo apt-get install redir [...] A$ redir --laddr 192.168.0.10 --lport 5554 --caddr 127.0.0.1 --cport 5554 & A$ redir --laddr 192.168.0.10 --lport 5555 --caddr 127.0.0.1 --cport 5555 &
Obviamente, en donde pone 192.168.0.10 debes poner la IP que corresponda con tu configuración.
En la máquina de desarrollo, lo único necesario es conectar con este emulador, usando la herramienta ADB:
B$ adb connect 192.168.0.10 connected to 192.168.0.10:5555 B$ adb devices List of devices attached 192.168.0.10:5555 device
Por ultimo, en el proyecto de Eclipse, es necesario que configures el “Deployment Target Selection Mode” a manual. De esta forma, saldrá un diálogo con los dispositivos disponibles cuando intentes ejecutar tu aplicación. Para ello, dirígete a “Run -> Run Configurations…”, y en la pestaña “Target” selecciona Manual.
Y esto es todo. Ahora podrás abrir eclipse y el emulador sin morir en el intento 
Comentarios
Excelente
Que excelente truco... me ha encantado. Por cierto... ¿será que se puede hacer algo similar con un dispositivo real? es decir, que el eclipse instale la app en el dispositivo vía tcp (usando una conexión wireless) para evitar tener que conectarlo al USB. Eso sería aún más genial
Gracias por el tip.
Un saludo!
Pues no te lo puedo decir,
Pues no te lo puedo decir, porque todavía no tengo ningún dispositivo físico con el que trastear. Cuando me llegue (en breve), intentaré ver si se puede, que a mi también me parece interesante
PD: no compréis en mp4nation, si no tenéis paciencia (ni estáis dispuestos a esperar más de un mes por vuestro pedido)
"aviso: la dereferencia de punteros de tipo castigado romperá las reglas de alias estricto" --GCC 4.3.1
Me parece que no
En principio no creo que se pueda, ya que en los teléfonos al menos solo se activa el modo depuración si está activado en la configuración y se conecta el cable USB.
De todos modos existe una aplicación que promete activar esto, pero para poder usarla es necesario tener permisos de root en el dispositivo. Yo la he utilizado (se llama adbWireless) y simplemente necesitas ejecutar, antes de intentar acceder con adb, el comando
adb connect IP:puertoy, tras eso, te permite hacer de todoGracias
Es justo lo que andaba buscando! Lo de rootear el teléfono, pues eso siempre se hace un día después de comprarlo, no?
Un saludo!