我的開發機器同時連接到兩個不同的網絡。一個是通過以太網(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