2011-08-29 13 views
8

Mi máquina de desarrollo está conectada simultáneamente a dos redes diferentes. Uno es a través de ethernet (eth0), y el otro es WiFi (en1). En esta situación, el emulador de Android parece querer siempre llegar a la red en eth0. Al iniciar el emulador desde la línea de comando, ¿hay alguna opción donde pueda indicarle que use una interfaz de red específica en la máquina de desarrollo (en1 en mi caso)?¿Cómo especifico qué interfaz de red debe usar el emulador de Android en mi máquina de desarrollo?

Parece que esto debería ser posible a través de args que puede pasar al -qemu flag. Sin embargo, la versión actual del emulador no se iniciará cuando use esta bandera.

Respuesta

5

Si solo se está comunicando con una dirección o subred específica, puede configurar una ruta adecuada en la máquina host mediante el comando agregar el comando. La sintaxis es ligeramente diferente para Windows y Linux:

Linux

route add -net meta-ip máscara de red 255.255.255.0 métrica 1 GW en1

de Windows

ruta complemento target-ip máscara 255.255.255.0 en1-gw-address métrica 1 -p

Es posible que desee ajustar el valor de la máscara de red (255.255.255.0) según sus necesidades.

+0

Estoy buscando una manera de enrutar todas las solicitudes HTTP, a cualquier dirección posible, desde el emulador de Android a en1. – elevine

+0

Entonces podría usar un proxy web gratuito. Configure el emulador para usar el proxy con la opción _http-proxy_ y configure una ruta a través de en1 para la IP del proxy. – mattlaabs

+0

Eso es una buena idea. ¿Puede sugerir un proxy que sería fácil de configurar? – elevine

1

mi humilde opinión esto no es posible ya que el emulador utiliza un enrutador virtual en lugar de una interfaz de red física de su PC de desarrollo

Tener una mirada más cercana a este enlace - hay alguna información detallada sobre ese
http://developer.android.com/guide/developing/devices/emulator.html#emulatornetworking

+1

Entonces, ¿cómo decide ese enrutador virtual qué interfaz de red usar en su máquina de desarrollo? Para decirlo de otra manera, cuando inicie el emulador puede especificar un proxy con el modificador -http-proxy. No veo una opción similar para elegir una interfaz de red, pero espero que exista. – elevine

+0

No estoy muy seguro, pero creo que esto tiene algo que ver con la forma en que se define el enrutamiento en la PC – DonGru

+0

Parece que esto debería ser posible a través de argumentos que puede pasar al indicador -qemu. Sin embargo, la versión actual del emulador no se iniciará cuando use esta bandera. – elevine

Cuestiones relacionadas