Android模擬器無法上網問題
方法一
首先,Windows下,配置Adroid環境變數(Win7為例)
1、桌面右鍵——》我的電腦——》高階系統設定
2、高階——》環境變數——》系統變數——》Path
3、新增android sdk目錄到系統變數Path中,如下圖:
注:F:/Pro-files/android-sdk-windows/tools,新增到系統Path
如果有F:/Pro-files/android-sdk-windows/platform-tools,也一併新增到系統Path,
說明:最新版的Android SDK安裝,emulator命令一般在tools目錄中,adb命令移到了platform-tools目錄
接著,啟動模擬器
1、cmd (Ctrl+R,啟動命令提示符窗體)
2、emulator -avd avd2.1 (啟動模擬器,avd2.1 為您安裝Android的模擬器名稱Name)
3、cmd (Ctrl+R,再另啟動命令提示符窗體)
然後,將網路連線代理設定寫入配置資料庫
1、adb shell (進入模擬器的linux系統,成功啟動模擬器後,此命令才有效)
假如你的上網代理IP是10.10.26.252:1080
2、寫資料到資料庫,更新系統設定
sqlite3 /data/data/com.android.providers.settings/databases/settings.db "INSERT INTO system VALUES(99,'http_proxy','10.10.26.252
3、查詢資料庫,看是否成功更改了系統設定:
sqlite3 /data/data/com.android.providers.settings/databases/settings.db "SELECT * FROM system"
說明:sqlite 是Android手機系統採用的微型資料庫,您可以理解成我們常用的Access、MySQL、SQL Server等資料庫
4、重啟模擬器,使用Browser直接上網Internet
最後,如果想刪除資料庫,請執行以下命令:
sqlite3 /data/data/com.android.providers.settings/databases/settings.db "DELETE FROM system WHERE _id=99"
===============================================================================
方法二
1、參照方法一,設定系統變數,啟動模擬器
2、依次進入 settings->Wireless controls->Mobile networks->Access Point Names
3、設定以下引數:
- Proxy : your proxy address
- Port : your proxy port
- Username : your username if needed, or <Not set>
Password : your password if needed, or <Not set>
4、設定DNS引數:
Android模擬器預設的地址是10.0.2.3,預設的DNS也是10.0.2.3,對於在家裡上網學習Android的人(像我)來講,一般 電腦的IP都是192.168.1.100之類的,不在同一個網段。所以就會出現電腦可以上網但是模擬器不能上網的情況。其實設定方 法很簡單,只要把模擬 器的預設DNS設定成電腦的DNS地址即可。
第一步:adb shell (進入模擬器的linux系統)
第二步:getprop (getprop會列出系統當前的各項屬性)
第三步:得到模擬器的DNS地址
在結果裡可以看到:
[net.dns1]: [10.0.2.3]
[net.dns2]: [10.0.2.4]
[net.dns3]: [10.0.2.5]
[net.dns4]: [10.0.2.6]
第四步:把dns改成我們自己的DNS
setprop net.dns1 192.168.1.1 或者 setprop net.dns1 192.168.0.1
注:一般TP-LINK及D-LINK的無線DNS都是192.168.1.1,有些公司有線DNS預設192.168.0.1;
如果以上兩個DNS不好用,請直接使用ipconfig /all(windows系統) 或者 ifconfig -a(linux/unix系統)命令確認。
大功告成,再去使用模擬器的瀏覽器的話,你就可以發現你已經可以上網了。