如何指定Android模拟器应在我的开发计算机上使用哪个网络接口?

时间:2011-08-29 14:34:39

标签: android networking android-emulator

我的开发机器同时连接到两个不同的网络。一个是通过以太网(eth0),另一个是WiFi(en1)。在这种情况下,Android模拟器似乎总是想要访问eth0上的网络。从命令行启动模拟器时,是否有一个选项可以告诉它在开发机器上使用特定的网络接口(在我的情况下为en1)?

看起来这应该可以通过args传递到 -qemu标志。但是,使用此标志时,将无法启动当前版本的模拟器。

2 个答案:

答案 0 :(得分:6)

如果您只与特定地址或子网通信,则可以使用 route add 命令在主机上设置适当的路由。对于Windows和Linux,语法略有不同:

<强>的Linux

route add -net target-ip netmask 255.255.255.0 metric 1 gw en1

<强>窗

路由添加 target-ip 掩码255.255.255.0 en1-gw-address metric 1 -p

您可能希望根据需要调整网络掩码值(<)。

答案 1 :(得分:1)

恕我直言,这是不可能的,因为模拟器使用虚拟路由器而不是开发PC的物理网络接口

仔细看看这个链接 - 有一些关于那个的详细信息 http://developer.android.com/guide/developing/devices/emulator.html#emulatornetworking