欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

解决AndroidStudio 模拟器无网络连接

程序员文章站 2022-05-01 20:37:02
...

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

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

解决AndroidStudio 模拟器无网络连接

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

解决AndroidStudio 模拟器无网络连接

解决AndroidStudio 模拟器无网络连接

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

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

解决AndroidStudio 模拟器无网络连接

解决AndroidStudio 模拟器无网络连接

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

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 目录下找到你创建过的所有模拟器

解决AndroidStudio 模拟器无网络连接