2011-08-29 42 views
8

我的開發機器同時連接到兩個不同的網絡。一個是通過以太網(eth0),另一個是WiFi(en1)。在這種情況下,Android模擬器似乎總是希望在eth0上聯繫網絡。當從命令行啓動模擬器時,是否有一個選項可以告訴它在開發計算機上使用特定的網絡接口(我的情況是en1)?如何指定Android模擬器應在我的開發機器上使用哪個網絡接口?

看來這應該是可以通過參數你可以傳遞給-qemu標記。但是,使用此標誌時,仿真器的當前版本不會啓動。

回答

5

如果您只與特定地址或子網通信,則可以使用路由添加命令在主機上設置適當的路由。語法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)。

+0

我正在尋找一種方法將所有HTTP請求路由到任何可能的地址,從Android模擬器到en1。 – elevine

+0

然後你可以使用免費的網絡代理。將模擬器配置爲使用具有_http-proxy_選項的代理,並通過en1爲代理的ip配置路由。 – mattlaabs

+0

這是一個好主意。你能建議一個易於安裝的代理嗎? – elevine

1

恕我直言,因爲仿真器使用一個虛擬路由器,而不是在開發PC的物理網絡接口

有這個鏈接仔細一看,這是不可能的 - 有關於
http://developer.android.com/guide/developing/devices/emulator.html#emulatornetworking

一些詳細信息
+1

那麼該虛擬路由器如何決定在您的開發機器上使用哪個網絡接口?換句話說,當您啓動模擬器時,您可以使用-http-proxy開關指定代理。我沒有看到選擇網絡接口的類似選項,但預計會存在。 – elevine

+0

我不太確定,但我想這與路由在PC上定義的方式有關 – DonGru

+0

看來這應該可以通過args傳遞給-qemu標誌。但是,使用此標誌時,仿真器的當前版本不會啓動。 – elevine

相關問題