2010-12-11 15 views
12

Parece que no puedo encontrar la siguiente información aunque estoy bastante seguro de que esto sea posible: Estoy ejecutando un emulador de Android en una máquina A. Estoy desarrollando en otra máquina B en la que estoy usando Eclipse.Conectar emulador de Eclipse a Android en una máquina diferente

Ahora cuando cambio a la perspectiva DDMS en Eclipse, quiero que el emulador de la máquina A aparezca en la pestaña de dispositivos.

La razón es que el emulador es bastante lento y parece que ejecutar el desarrollo y el emulador en diferentes máquinas podría ser una solución.

Dado que el emulador se ejecuta en un puerto específico, estoy bastante seguro de que necesito averiguar cómo decirle a Eclipse dónde buscar emuladores.

Gracias por cualquier consejo

Respuesta

1

Puede indicarle a adb que se conecte a un dispositivo que escuche una dirección IP y un puerto TCP. Ese dispositivo debería aparecer en eclipse. Entonces la máquina de depuración es fácil.

La máquina emuladora puede ser más difícil. El emulador está escuchando la conexión TCP en un puerto local. IIRC se ha establecido que no hay un interruptor de línea de comando para hacer que escuche en una interfaz externa, aunque vuelva a verificarlo. Por lo tanto, es posible que tenga que modificar y recompilar el emulador o utilizar algún tipo de reenvío de puertos en la máquina de alojamiento. ssh podría manejar eso por usted, aunque estoy seguro de que hay otras herramientas sin la sobrecarga de cifrado, si eso no es necesario.

+0

¡Gracias por los detalles! – pgruetter

1

Eclipse no se fija en el emulador directamente.

El proceso en segundo plano de adb controla la comunicación con el emulador (así como con los dispositivos reales). Adb escucha en el puerto TCP 5037 los comandos entrantes.

No he intentado su escenario pero esto debería comenzar.

+0

OK, gracias por la información! Tal vez haya una forma de cambiar adb, por lo que también verifica que otros hosts tengan emuladores. O puedo cambiar el adb por completo para que Adb se ejecute en otro host. – pgruetter

+0

Eso es lo que pensé – mibollma

2

Mientras tanto, encontré una muy buena solución al problema. Instalé android-x86 (http://www.android-x86.org) en una máquina virtual. En el host, a continuación, utilizar los siguientes comandos para reiniciar ADB y conectarse a la máquina virtual:

adb kill-server 
adb connect <VM-IP>:5555 

Reemplazar VM-IP con la IP real de su máquina virtual. Si se encuentra en una red privada, la forma más sencilla es configurar la red vm como puenteada para que la VM obtenga su propia dirección IP del servidor dhcp. También debería funcionar con redes Host-Only, como se describe en here.

Si todo fue bien, debería ver la máquina virtual de Android en el depurador de Eclipse al igual que los emuladores normales.

+0

En realidad, el primer comando kill-server no es necesario, puedes conectarte directamente a un nuevo dispositivo que llama a adb desde la consola. – pgruetter

+0

Y para averiguar la dirección IP de la vm, recuerde que puede usar, por ejemplo, Ctrl + 2 para cambiar a una consola para averiguar su dirección IP con ifconfig y volver al "sistema operativo Android" con Ctrl + 7. – pgruetter

1

Lo hice con los siguientes pasos.

  1. Iniciar el emulador de la máquina remota
  2. iniciar una aplicación de reenvío de puertos en la máquina remota (TCP reenviados: 5557 a localhost: 5555)
  3. ADB inicio con remote_machine_IP de conexión: 5557 en mi máquina de desarrollo
  4. inicio del eclipse

Eclipse encontrarán ADB y la lista del dispositivo.

+0

¿Puedes explicar el paso 2 más claramente? ¿Qué aplicación usaste para reenviar el puerto? – xmen

1

Siga estos pasos para conectar su máquina virtual para eclipsar IDE:

Primeros ICS ejecución de la máquina virtual y abrir el símbolo del sistema androide. (Vaya a las aplicaciones y ejecutar el emulador de terminal)

Tipo "netcfg" en el terminal para averiguar IP de su máquina virtual

A continuación, vaya a cmd (ventanas símbolo del sistema) y mover a la carpeta de "plataforma-herramienta" en la ruta de instalación androide (en mi caso cd C: \ android-sdk-windows \ Platform-tools)

a continuación, escriba "adb conectar su IP" comando (ADB conectar 190.156.10.122)

Ahora puede depurar su aplicación de Android en vm sin ningún problema. Pruebe this y this

1

Después de luchar con esto, encontré este video que explicaba cómo ejecutar el emulador en mi mac mientras ejecutaba mi entorno de desarrollo en una VM. http://youtu.be/CacpPleWsZM

+0

este video es muy detallado, paso a paso en la guía. Gracias por compartir esto – MichaelP

Cuestiones relacionadas