您的位置:首页 > 移动开发 > Android开发

解决AndroidStudio 模拟器无网络连接

2018-07-31 18:02 3503 查看
版权声明:本文为bibifeng原创文章,未经博主同意请勿转载。 https://blog.csdn.net/Bibifeng/article/details/81317037

最近写安卓项目时,需要写到网络请求的功能,在利用api接口请求数据时,偶然发现AndroidStudio中模拟器没有网络连接,这就有点不开心了,明明电脑是有网络连接的,按道理来说模拟器应该也是可以联网的。后来上网查了一下,说是模拟器默认的DNS和电脑上的DNS不一样,表明不在同一个网段,用命令行检查了两者的DNS,发现还真的不一样。

如何查看电脑DNS?直接打开cmd,输入命令ipconfig/all,找到如下这行:

如何查看模拟器DNS? 首先需要先启动模拟器,一定要先启动,启动之后,再打开cmd,输入命令adb shell,回车后再输入getprop,回车,找到如下红笔所划这行,就是模拟器的DNS:

显然,模拟器DNS和电脑DNS不一致。如何解决呢,网上办法很多,我找了一种最简单粗暴的,一发即中: 

打开cmd,进入你电脑上skd的安装目录下的emulator文件夹。如果不想那么麻烦在命令行手动输入路径,可以先进入到emulator文件夹,然后在地址栏输入cmd,打开之后就自动进入到当前文件夹中了。(win7可以,其他版本的系统不知道行不行)

然后再命令行输入如下命令: (Nexus_5X_API_27_x86替换成你自己的模拟器名字,其他不变)

[code]emulator -avd Nexus_5X_API_27_x86 -dns-server 8.8.8.8,114.114.114.114

回车之后,系统会帮你启动你电脑中名叫Nexus_5X_API_27_x86的模拟器,此时模拟器便可以上网了。这种方式最简单粗暴,但也最麻烦,因为这只是一次性的,如果下次不输入这行命令,模拟器还是不能上网,所以每次启动前都要输入这行命令。如果想一劳永逸,可以百度一下如何更改模拟器DNS,网上很多教程。 

上面那个步骤如果不知道自己要启动的模拟器的那个名字,一般可以在C盘中的 .android\avd 目录下找到你创建过的所有模拟器

 

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: