赞
踩
目录
Google推出了Android Q以后,兴致勃勃的下载了android10的镜像,新建模拟器发现启动速度比以前快了简直不是一星半点,开机嗖嗖的。以前因为Android的模拟器实在是太慢了,都拿自己心爱的手机调试,时间长了,手机会变得特别卡,特别损真机,而且有时候因为真机不能做到运行各个版本的Android系统,尤其是Google新发布的android版本,导致一些bug无法用真机复现。现在终于可以用模拟器调试解决问题了。但是发现模拟器运行,应用无法连接网络,duang duang duang~~ 本来以为这个问题应该很容易解决,结果就去百度,搜出来全是下边的玩意儿!!!都是在胡扯,记录下来希望其他小伙伴不再采坑
看别人写的什么通过下边的adb shell命令就可以联网,全在胡扯!!!我用shell命令根本没有 [net.dns1] 这属性,另外shell命令设置dns也是提示failed(应该是需要root权限,但是我没找到怎么获取root权限,不知道其他小伙伴是否遇到跟我一样的问题)
Shit start-----------------------
adb shell
getprop
会列出系统当前的各项属性,可以看到下面格式的模拟器dns:
[net.dns1]: [10.0.2.3]
[net.dns2]: [10.0.2.4]
通过setprop net.dns1 192.168.1.1
Shit ending-----------------------
下边介绍我亲测的两种办法真实有效!!!
Android Studio新建模拟器,内置浏览器无法通过域名打开百度,但是通过IP可以打开百度。这导致我们调试代码特别不方便,看下图1-1的提示,猜测大致是因为dns的问题,图1-2可以通过ip访问百度印证了这个猜测
查阅资料发现Android模拟器默认的地址是10.0.2.3,默认的DNS也是10.0.2.3。对于在家或者在公司运行Android模拟器来讲,家里的电脑IP都是192.168.1.112之类的,公司电脑IP类似172.30.14.249这样,我们可以通过dos命令ipconfig/all查看电脑的ip,一般情况下电脑和模拟器不在同一个网段,所以就会出现电脑可以上网但是模拟器不能上网的情况。我们只需要把模拟器的DNS和电脑的DNS改成一致,模拟器就可以正常上网了。下面是图2-1,模拟器的DNS和电脑不一致
进入模拟器Setting->Network&Internet->Wi-Fi->AndroidWifi->右上角修改,手动选择IP setting->static,ip地址和网关还是设置成DHCP动态分配的ip和网关地址(大家可以在Network details查看动态分配的ip,然后记住默认分配的动态ip和网关,如下图3-1),我们只需要修改模拟器的dns,改为和电脑的dns一致就可以了,我这边dns和pc保持一致,改为了223.5.5.5、223.6.6.6。大家按照自己pc的dns设置保存,然后就可以愉快的联网了,如图3-2,你懂的!
1.找到你的模拟器名字,默认在C:\users\xx\.android\avd目录下,如图3-3。如果找不到可以在Android Studio->AVD Manager->show on disk定位到此目录如图3-4
2.找到SDK的emulator目录,目录如图3-5
3.在dos命令窗口切换到SDK的emulator目录下运行命令,模拟器名字要对应上自己的模拟器名字,我的模拟器名字是Pixel_API_29
emulator -avd Pixel_API_29 -dns-server 8.8.8.8,114.114.114.114
回车之后,系统会帮你启动你电脑中名叫Pixel_API_29的模拟器,此时模拟器便可以上网了。这种方式最简单粗暴,但也最麻烦,因为这只是一次性的,如果下次不输入这行命令,模拟器还是不能上网,所以每次启动前都要输入这行命令。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。