Android模拟器升级为2.3后不能联网有关问题

Android模拟器升级为2.3后不能联网问题


1.Android升级为2.3,不能联网,原因是2.3默认没有安装GSM modem,在新产生AVD模拟器时,硬件中添加GSM即可 ,这样的话只要电脑可以上网,模拟器也可以上网了 

 

2.如果不是升级到Android2.3出现不能联网,原始其实也很简单,因为Android模拟器默认的地址是10.0.2.3,默认的DNS10.0.2.3,在家里上网一般电脑的IP都是192.168.1.4之类的,不在同一个网段。所以就会出现电脑可以上网但是模拟器不能上网的情况。其实设置方法很简单,只要把模拟器的默认DNS设置成电脑的DNS地址即可。

 

第一步:进入SDKtools目录,如果配置过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]

Android模拟器升级为2.3后不能联网有关问题

 

第四步:把DNS改为我们自己的DNS就行了,(我们的DNS都是192.168.1.1,一般TP-LINKD-LINK的上的都会标注,如果真的不知道,可以通过命令行敲ipconfig/all命令)

#setprop net.dns1 192.168.1.1

Android模拟器升级为2.3后不能联网有关问题

 

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

不过这个namepassword就要从代理那里获得了

1 楼 bk41 2011-02-17  
照做后不行 还是不能上网
2 楼 txlong_onz 2011-02-17  
bk41 写道
照做后不行 还是不能上网

果然,我升级为2.3.3后又不能联网了,这个问题值得研究。