通过usb访问dev机器localhost

a.b*_*cci 12 java usb networking android

我的活动需要与位于我的开发机器上的java服务器通信.实际上,使用模拟器,我可以通过特殊的10.0.2.2地址访问服务器套接字.现在我想在通过usb连接的手机上测试我的应用程序,但似乎我不能使用10.0.2.2来访问我的开发机器localhost了.自然地使用wifi路由器和正确的局域网寻址可以解决问题,但我需要使用USB连接.任何提示?

编辑:
添加了不同的场景,让每个人都更好地理解:

1.基于仿真器的场景:

  • 在我的电脑上运行的标准java服务器@localhost:15000
  • 在我的模拟器上运行的android java客户端.

当Android应用需要联系它采用10.0.2.2:15000等指定的服务器在这里.一切正常.

2.物理连接设备的正确wifi方案:

  • 在我的电脑上运行的标准java服务器@ 192.168.1.10:15000.
  • 在我的设备上运行的android java客户端,分配了192.168.1.11地址.

当Android应用程序需要联系服务器时,它使用192.168.1.10:15000并且一切正常.

3.期望的场景:

  • 在我的电脑上运行的标准java服务器@localhost:15000.
  • 在我的设备上运行的android java客户端通过usb电缆连接.没有网络活动.

当Android应用程序需要联系服务器时,它会尝试连接到10.0.2.2:15000,但抛出异常(网络无法访问).看起来特殊地址10.0.2.2仅适用于仿真器实例.

我只是想知道在adb/adt套件中是否有办法从通过usb电缆连接的设备访问pc地址.我希望现在更清楚一点.谢谢.

a.b*_*cci 3

似乎没有办法让场景 #3 正常工作,因为 USB 连接不是真正的网络连接,并且手机没有与之关联的 IP。

实际上我的解决方案是在我的手机和电脑之间使用临时 WiFi 连接。此场景与 #2 类似,但没有路由器或 dhcp。不幸的是,由于这个问题,我的 Hero 无法本地处理临时连接。所以我必须root我的设备并手动更改一些配置脚本。我希望这样的功能可以在下一个版本中提供。