1.Android升级为2.3,不能联网,原因是2.3默认没有安装GSM modem,在新产生AVD模拟器时,硬件中添加GSM即可 ,这样的话只要电脑可以上网,模拟器也可以上网了 。
2.如果不是升级到Android2.3出现不能联网,原始其实也很简单,因为Android模拟器默认的地址是10.0.2.3,默认的DNS是10.0.2.3,在家里上网一般电脑的IP都是192.168.1.4之类的,不在同一个网段。所以就会出现电脑可以上网但是模拟器不能上网的情况。其实设置方法很简单,只要把模拟器的默认DNS设置成电脑的DNS地址即可。
第一步:进入SDK的tools目录,如果配置过path路径,这个步骤可以省略
E:\cd android-sdk-windows\tools
第二步:使用adb shell命令,进入adb模式
E:\android-sdk-windows\tools>adb shell
第三部:使用getprop命令,得到所有的属性
#getprop
接下来会显示所有的属性罗列,其中有
[net. dns1]: [10.0.2.3]
第四步:把DNS改为我们自己的DNS就行了,(我们的DNS都是192.168.1.1,一般TP-LINK及D-LINK的上的都会标注,如果真的不知道,可以通过命令行敲ipconfig/all命令)
#setprop net.dns1 192.168.1.1
3.如果是通过代理不能联网,只需
第一步:打开命令行窗口,输入adb shell命令。该命令是进入模拟器的linux系统。
第二步:在 adb shell 模式下执行以下命令
sqlite3 /data/data/com.android.providers.settings/databases/settings.db "INSERT INTO system VALUES(99,'http_proxy','10.10.26.252:1080')"
总结:
我们可以在adb shell模式下执行查询命令
sqlite3 /data/data/com.android.providers.settings/databases/settings.db "SELECT * FROM system"
删除刚刚写入的配置信息方法:
sqlite3 /data/data/com.android.providers.settings/databases/settings.db "DELETE FROM system WHERE _id=99"
如果觉得麻烦的话,也可以在命令行直接指定代理:
emulator -avd your_avd_name -http-proxy http//name:password@10.10.26.252:1080
不过这个name和password就要从代理那里获得了