android模拟器上网问题
- 格式:doc
- 大小:26.50 KB
- 文档页数:3
解决Android模拟器不能上网的问题
@import
url(/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=Sy ntaxHighlighter.css);@import url(/css/cuteeditor.css);W i n d o w s下,配置好A d r o i d环境变量后(如将d:a n d r o i d-s d k-w i n d o w s-1.0_r1o o l s加入系统变量P A T H),在命令行窗口输入:
e m u l a t o r
启动A n d r o i d模拟器后,输入:
a d
b s h e l l
进入a d b s h e l l模式:
将网络连接代理设置写入配置数据库,假如你的上网代理I P是10.193.x x.x x:s q l i t e3/d a t a/d a t a/c o m.a n d r o i d.p r o v i d e r s.s e t t i n g s/d a t a b a s e s/s e t t i n g s.d b "I N S E R T I N T O s y s t e m V A L U E S(99,'h t t p_p r o x y','10.193.x x.x x:1080')"
查询一下是否成功更改了系统设置:
s q l i t e3/d a t a/d a t a/c o m.a n d r o i d.p r o v i d e r s.s e t t i n g s/d a t a b a s e s/s e t t i n g s.d b "S E L E C T*F R O M s y s t e m"
结果中应有:99|h t t p_p r o x y|10.193.x x.x x:1080
重启模拟器,应该可以使用B r o w s e r上I n t e r n e t了.
删除刚刚写入的配置信息方法:
s q l i t e3/d a t a/d a t a/c o m.a n d r o i d.p r o v i d e r s.s e t t i n g s/d a t a b a s e s/s e t t i n g s.d b "D E L E T E F R O M s y s t e m W H E R E_i d=99"
A n d r o i d模拟器默认的地址是10.0.2.3,默认的D N S也是10.0.2.3,对于在家里上网学习A n d r o i d的人(像我)来讲,一般电脑的I P都是192.168.1.100之类的,不在同一个网段。所以就会出现电脑可以上网但是模拟器不能上网的情况。其实设置方法很简单,只要把模拟器的默认D N S设置成电脑的D N S地址即可。
第一步:用系统的命令进入A n d r o i d开发包的t o o l s目录
c d X:\...\a n d r o i d-s d k-w i n d o w s\t o o l
第二布:使用a d b的s h e l l,确认系统的各项属性
a d
b s h e l l
g e t p r o p
g e t p r o p会列出系统当前的各项属性
第三步:得到模拟器的D N S地址
在结果里可以看到:
[n e t.d n s1]:[10.0.2.3]
[n e t.d n s2]:[10.0.2.4]
[n e t.d n s3]:[10.0.2.5]
[n e t.d n s4]:[10.0.2.6]
第四步:把d n s改成我们自己的D N S
s e t p r o p n e t.d n s1192.168.1.1
注:一般T P-L I N K及D-L I N K的D N S都是192.168.1.1,如果不是请使用i p c n o f i g /a l l命令确认。
大功告成,再去使用模拟器的浏览器的话,你就可以发现你已经可以上网了。
我在网上查了一下,发现有以下四种方式:
一:将网络连接代理设置写入配置数据库
1、通过命令行或者通过双击e m u l a t o e r可执行文件,打开模拟器
2、在命令行执行a d b s h e l l打开a n d r o i d的控制台(确保环境变量设置正确,即已经把A n d r o i d_S D K/t o o l s添加到了P A T H(L i n u x)/p a t h(W i n d o w s))
3、执行l s-l /d a t a/d a t a/c o m.a n d r o i d.p r o v i d e r s.s e t t i n g s/d a t a b a s e s/s e t t i n g s.d b,查看系统设置数据库文件是否存在
4、如果数据库文件存在,执行s q l i t e3 /d a t a/d a t a/c o m.a n d r o i d.p r o v i d e r s.s e t t i n g s/d a t a b a s e s/s e t t i n g s.d b,以s e t t i n g s.d b为当前s c h e m e启动S Q L I T E3
5、执行I N S E R T I N T O s y s t e m V A L U E S(99,’h t t p_p r o x y’,‘192.168.0.245:8080′);语句插入数据,其中192.168.0.245是我用的代理服务器
I P,8080是端口,请根据具体情况替换
6、执行S E L E C T*F R O M s y s t e m;来查看刚才插入的数据
7、重启模拟器,以使代理服务器设置生效
8、可以使用D E L E T E F R O M s y s t e m W H E R E _i d=99;语句来删除代理设置,或者使用U P D A T E s y s t e m S E T v a l u e=‘192.168.0.245:8070′W H E R E_i d=99;来修改代理服务器设置
二:可能是D N S的问题
1、用系统的命令进入A n d r o i d开发包的t o o l s目录
c d E:\a n d r o i d-s d k-w i n d o w s\t o o l s
2、使用a d b的s h e l l,确认系统的各项属性
a d
b s h e l l
g e t p r o p
g e t p r o p会列出系统当前的各项属性
3、得到模拟器的D N S地址
在结果里可以看到:
[n e t.d n s1]:[10.0.2.3]
[n e t.d n s2]:[10.0.2.4]
4、把d n s改成我们自己的D N S
s e t p r o p n e t.d n s1192.168.1.1
注:一般T P-L I N K及D-L I N K的D N S都是192.168.1.1,如果不是请使用i p c n o f i g /a l l命令确认。
三:直接带参数启动模拟器
e m u l a t o r@d e
f a u l t-h t t p-p r o x y10.16.x x.x x:8080
其中d e f a u l t是模拟器的名称
四:在模拟器中设置
启动模拟器,然后进入S e t t i n g s->W i r e l e s s&n e t w o r k s->M o b i l e n e t w o r k s->A c c e s s P o i n t N a m e s
然后打开出现在列表中的a c c e s s p o i n t;