我的开发机器同时连接到两个不同的网络。一个是通过以太网(eth0),另一个是WiFi(en1)。在这种情况下,Android模拟器似乎总是希望在eth0上联系网络。当从命令行启动模拟器时,是否有一个选项可以告诉它在开发计算机上使用特定的网络接口(我的情况是en1)?如何指定Android模拟器应在我的开发机器上使用哪个网络接口?
看来这应该是可以通过参数你可以传递给-qemu标记。但是,使用此标志时,仿真器的当前版本不会启动。
我的开发机器同时连接到两个不同的网络。一个是通过以太网(eth0),另一个是WiFi(en1)。在这种情况下,Android模拟器似乎总是希望在eth0上联系网络。当从命令行启动模拟器时,是否有一个选项可以告诉它在开发计算机上使用特定的网络接口(我的情况是en1)?如何指定Android模拟器应在我的开发机器上使用哪个网络接口?
看来这应该是可以通过参数你可以传递给-qemu标记。但是,使用此标志时,仿真器的当前版本不会启动。
如果您只与特定地址或子网通信,则可以使用路由添加命令在主机上设置适当的路由。语法Windows和Linux略有不同:
Linux的
路由添加-net 目标IP子网掩码255.255.255.0指标1个GW EN1
的Windows
路由添加target-ip mask 255.255.255.0 en1-gw-address metric 1 -p
您可能需要根据需要调整网络掩码值(255.255.255.0)。
恕我直言,因为仿真器使用一个虚拟路由器,而不是在开发PC的物理网络接口
有这个链接仔细一看,这是不可能的 - 有关于
http://developer.android.com/guide/developing/devices/emulator.html#emulatornetworking
我正在寻找一种方法将所有HTTP请求路由到任何可能的地址,从Android模拟器到en1。 – elevine
然后你可以使用免费的网络代理。将模拟器配置为使用具有_http-proxy_选项的代理,并通过en1为代理的ip配置路由。 – mattlaabs
这是一个好主意。你能建议一个易于安装的代理吗? – elevine