来源: 解决Android Studio模拟器无法联网_菜鸟的日常的博客-CSDN博客_android studio模拟器联网
目录
一:问题描述
二:原因
三:解决方法
3.1永久修改DNS
3.2命令启动模拟器
四:参考链接
一:问题描述
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访问百度印证了这个猜测
图1-1
图1-2
二:原因
查阅资料发现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和电脑不一致
图2-1
三:解决方法
3.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,你懂的!
图3-1
图3-2
3.2命令启动模拟器
1.找到你的模拟器名字,默认在C:\users\xx\.android\avd目录下,如图3-3。如果找不到可以在Android Studio->AVD Manager->show on disk定位到此目录如图3-4
图3-3
图3-4
2.找到SDK的emulator目录,目录如图3-5
图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的模拟器,此时模拟器便可以上网了。这种方式最简单粗暴,但也最麻烦,因为这只是一次性的,如果下次不输入这行命令,模拟器还是不能上网,所以每次启动前都要输入这行命令。
四:参考链接
解决AndroidStudio 模拟器无网络连接
————————————————
版权声明:本文为CSDN博主「菜鸟的日常」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/AngryPotatoLucky/article/details/106198818