I know that similar questions have been asked before, but my problem is new only after installing Android Studio 2.3, the latest version in March 2017. I have several years experience developing Android applications, and I have never encountered this problem before. After upgrading to version 2.3 of Android Studio, my emulator is no longer able to access the internet. I even uninstalled/reinstalled Android Studio 2.3 from scratch and created a new emulator, and I am still getting the same error. This is not an app problem. I can't even access the internet from Chrome, and I wasn't having this problem last week. The message that I get says that the server DNS address could not be found -- DNS_PROBE_FINISHED_BAD_CONFIG. The only thing that has changed on my computer in the last week is the new version of Android plus possibly updates to Windows 10. And yes, my computer has access to the internet. Below is an image of my emulator when I try to use Chrome to search for "Google".


当前回答

最后,我不得不删除。android文件夹并创建一个新的。看来文件损坏了

其他回答

我在升级后遇到了同样的问题。在模拟器中打开Chrome浏览器后,无法再访问google.com。

我在SO上找到了一篇文章,指出问题是模拟器试图使用一个断开连接的网络适配器。对我来说,这个问题是在我连接到局域网时发生的。禁用无线局域网适配器解决了这个问题。

禁用适配器。

导航到网络连接 找到适配器 右键单击并选择禁用

我观察到的是,当你切换wifi连接时,android模拟器正在运行。它无法连接到新的wifi。

一个简单的解决方案是重新启动android模拟器。

专业提示:在Linux上使用AVD和dnsmasq

要理解你,请阅读从Android Studio设置Android模拟器网络。

被模拟设备的环回为127.0.0.1,可以从10.0.2.2访问被模拟设备的主机环回。

在启动时,模拟设备通过从/etc/resolv.conf中的主机中选择DNS名称服务器来设置它的DNS名称服务器。

但重点是,如果你正在使用dnsmasq,你setnameserver 127.0.0.1in/etc/resolv.conf ',所以模拟设备将击中它自己的环回,那里没有任何运行,而不是主机环回,那里有一个DNS服务器运行。

在命令行下运行AVD时,需要添加-dns-server。

例如:

云耀斑DNS: ~/Android/Sdk/模拟器- avdk_nexus_9_api_23 - DNS -服务器1.1.1 主机dnsmasq: ~/Android/Sdk/模拟器- avdd Nexus_9_API_23 -dns-服务器1.0.2.2

Android 9+模拟器适合我,但Android 7不能连接到互联网。

我办公室用的是小飞贼应用防火墙。我把它关掉了,Android 7运行正常。检查一下防火墙可能是个好主意。

MacOS解决方案,不为整个机器使用自定义DNS

步骤1

找到Android Studio在Android SDK中使用的模拟器可执行文件,并将其重命名为simulator -original。

我的位于/usr/local/share/android-sdk/emulator/emulator,但它可能会根据个人设置而有所不同。

步骤2

在包含以下命令的原始文件(或使用您选择的DNS服务器)的位置添加一个名为emulator的新文件。

#!/bin/bash
$0-original "$@" -dns-server 8.8.8.8

步骤3

使新的模拟器文件可执行。

chmod +x emulator

步骤4

使用Android Studio重新启动模拟器。