進入adb shell後
ping 127.0.0.1 (android地址)可以ping 通
ping 10.0.2.2 (本地電腦地址)也可以ping通
但是
ping www.baidu.com 等外網就是ping不通
求解!
windows下,配置好adroid環境變數後(如將d:android-sdk-windows-1.0_r1 ools加入系統變數path),在命令列視窗輸入:
emulator
啟動android 模擬器後, 輸入:
adb shell
進入adb shell模式:
將網路連接代理設定寫入設定資料庫,假如你的上網代理ip是10.193.xx.xx:
sqlite3 /data/data/com.android.providers.settings/databases/settings.db "insert into system values(99,'http_proxy','10.193.xx.xx:1080')"
查詢一下是否成功更改了系統設定:
sqlite3 /data/data/com.android.providers.settings/databases/settings.db "select * from system"
結果中應有:99|http_proxy|10.193.xx.xx:1080
重啟模擬器,應該可以使用browser上 internet了.
刪除剛剛寫入的配置資訊方法:
sqlite3 /data/data/com.android.providers.settings/databases/settings.db "delete from system where _id=99"
android模擬器預設的地址是10.0.2.3,預設的dns也是 10.0.2.3,對於在家裡上網學習android的人(像我)來講,一般電腦的ip都是192.168.1.100之類的,不在同一個網段。所以就會出現電腦可以上網但是模擬器不能上網的情況。其實設定方法很簡單,只要把模擬器的預設dns設定成電腦的dns地址即可。
第一步:用系統的命令進入android開發包的tools目錄
cd x:...android-sdk-windows ool
第二布:使用adb的shell,確認系統的各項屬性
adb shell
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
註:一般tp-link及d-link的dns都是192.168.1.1,如果不是請使用ipcnofig /all命令確認。
大功告成,再去使用模擬器的瀏覽器的話,你就可以發現你已經可以上網了。
http://friends218.blog.163.com/blog/static/217891022011414112627306/