2010-08-05 23 views
33

Esta es una consulta relacionada con el uso de ADB en android.ADB puerto remoto adelante a máquina local

¿Hay una manera de reenviar el puerto remoto es decir, puerto en el dispositivo androide/emulador para la máquina local a la que está conectado el dispositivo?

$ adb TCP hacia adelante: port1 tcp: port2 # reenvía el puerto 1 puerto local en la máquina para port2 en el dispositivo.

¡Gracias de antemano!

+0

Estoy en una situación similar en este momento, pero creo que voy a seguir la ruta diferente: Enlace la aplicación a 127.0.0.1:12345 y haga un túnel hasta ese puerto. ¿Por qué te importa tanto quién inicia la conexión? Una vez que haya establecido una conexión TCP, ¿ambas partes pueden hablar/escuchar? –

Respuesta

2

es lo que realmente necesitan para reenviar el puerto o sólo estás buscando una manera de comunicarse usando sockets de un programa que se ejecuta en la cáscara androide a su máquina anfitrión? Pude lograr esto enviando mi mensaje al puerto de interés en "10.0.2.2", que es el adaptador de bucle invertido de la máquina host. Consulte los documentos here.

EDITAR
Esta es la versión actualizada del link

+25

¿Cómo se lograría esto con un dispositivo en lugar del emulador? – Johnny

+9

@Johnny En un dispositivo real, usaría adb reverse. Por ejemplo, si tiene un servidor de su servidor escucha en el puerto 8080 y desea revertir el avance puerto 8000 en el dispositivo para ello, tendrá que utilizar 'ADB TCP inversa: 8000 tcp: 8080' – sacha

+1

@sacha I no se puede encontrar ninguna documentación sobre el comando inverso de adb. ¿Realmente existe? ¿Qué versiones de SDK? – akuz

22

Recientemente Google actualizada servicio de ADB. Y se agregó el comando reverse que debería hacer el trabajo.

De reverse documentación:

Esto implementa la característica adb reverse, es decir, la capacidad de revertir conexiones de socket de un dispositivo para el huésped. <forward-command> es uno de los comandos de reenvío que se describen anteriormente, como en:

  1. list-forward
  2. forward:<local>;<remote>
  3. forward:norebind:<local>;<remote>
  4. killforward-all
  5. killforward:<local>

Tenga en cuenta que en este caso , <local> corresponde al zócalo en el dispositivo y <remote> corresponde al zócalo en el host.

La salida de reverse:list-forward es el mismo que el anfitrión: lista hacia adelante excepto que <serial> será sólo host.

Cuestiones relacionadas