PCYOPCYO

山上有座庙

Android模拟器上网的设置

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"本帖最后由 rmn190 于 2010-9-23 10:36 编辑以下是关于调试Emulator联网过程中记录。1, 按照http://www.javaeye.com/topic/521023中的说明,配置代理。2,在Eclipse中启动http://www.javaeye.com/topic/521023中的例子,结果是黑屏,也就表明了联网失败3,直接用Emulator中自带的浏览器上网,成功。4,是他例子中代码原因?还是自己在设置时有误?5,另找代码运行,联网成功。代码见附件。调试过程中的几个问题:1, 围绕"INSERT INTO system VALUES(99,'http_proxy','10.10.26.252:1080')"语句,这是应该是设置代理,也应该跟下面一回帖中所说的“emulator -avd your_avd_name -http-proxy http://name:password@10.10.10.10:3128”等效,我的问题是,为什么要设置代理?一般的电脑上网并不设置代理的。2, 设置代理的后,可以看到设置成功,如下图中红圈内容所示: 设置成功是没问题的,可为什么又要运行“sqlite3 /data/data/com.android.providers.settings/databases/settings.db "DELETE FROM system WHERE _id=99”删掉刚才的设置呢?结合自己的实验,可以看出,删掉代理设置后,也是可以联网成功的。 3, 为了找原因,在调试过程中, 又全新的配置了一个Emulator。在这个全新的Emulator中,并没有按上面的方式设置代理,不过启动后,还是发现可以联网(自带浏览器与BrowserView代码两种方式都可以)的,而记得,当初刚装上Android SDK时,运行配置好的Emulator时,自带浏览器并不能联网的。这样就有一个问题:在一个Emulator中设置联网方面的代理后,这个代理是全局生效的?而不只针对于当前Emulator?

本原创文章未经允许不得转载 | 当前页面:PCYO » Android模拟器上网的设置

评论