admin管理员组

文章数量:1530517

1.无法上网的原因
       使用android studio开发时经常使用其自带的模拟器进行app模拟和仿真,并且可以使用模拟器创建android各种版本的模拟器设备来测试自己的app是否可以兼容运行。但是如果需要使用网络时就会发现无法正常上网,打开浏览器输入网址时不能打开。
       通过搜索资料可以发现是模拟器的DNS问题,模拟器默认的DNS是10.0.2.3这种,这个DNS电脑是无法ping通的,因此无法对域名进行解析也就无法访问网址,如果是直接输入ip地址的话是可以访问的,比如输入百度的ip地址14.215.177.39进行访问,此时是可以访问的。如果直接输入ip也无法进行网络访问的话,那么可能本身的网络就有问题需要先检查一下自己电脑的网络问题。


2.解决方法
       针对这个问题网络上有挺多的解决方法的,一般都是说用命令行来启动模拟器,启动的时候通过命令行来指定dns,但是这个方法不是很好用,我还是习惯了直接用android studio来启动模拟器。
       这里分享一个在模拟器启动后设置dns实现一劳永逸的方法,启动模拟器后wifi会默认连接一个叫AndroidWifi的热点,此时点击这个热点进去查看详情,我的连接详情如下。我们需要记录下IP地址和网关,每个人的都不太一样,我这个是Pixel_API26的模拟器,不同的模拟器版本操作方法可能不完全一样,大家可以参考。

       然后修改AndroidWifi的网络设置,我的模拟器是长按热点就会弹出菜单,点击Modify network进行网络设置,展开高级设置选择IP地址为static,然后将刚刚记录的ip地址和网关输入进去,DNS可以输入自己电脑的DNS,如果自己电脑的DNS不是IPv4地址的话就可以使用网络上公用的DNS,我这里输入的是阿里的DNS 223.5.5.5,输入完成后点击保存。


       此时需要将WiFi进行关闭,然后重新打开,等待连接AndroidWifi完成后应该就有internet了,之前的no internet文字就消失了。如果重启WiFi后还是没有网络的,可以多次重启然后多等一会看看是否有网络。


       可以打开浏览器输入www.baidu进行测试是否可以访问网络。通过这个方法设置后就不需要每次启动模拟器都重新设置DNS,相比较用命令行来启动模拟器的方法更加的方便。

本文标签: 模拟器androidStudio