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 Studio和Android模拟器。
问题来自您的网络设置。只要将主DNS服务器设置为8.8.8.8,就可以解决问题。
其他回答
在尝试了许多这些解决方案之后,我打算删除我当前的AVD并重新制作它,但当我点击AVD上的向下箭头时,我注意到“现在冷启动”。
一时兴起,我试了一下。瞧,我的模拟器又有互联网连接了!
命令行方式
如果你通过命令启动模拟器,传递-no-snapshot-load选项,比如:
%ANDROID_HOME%/emulator/emulator.exe -netdelay none -netspeed full -no-snapshot-load -avd Pixel_2_API_28
或者MacOSX:
$ANDROID_HOME/emulator/emulator -netdelay none -netspeed full -no-snapshot-load -avd Pixel_2_API_28
注意,您可能需要更改-avd Pixel_2_API_28部分(与您自己的虚拟设备名称)。 此外,大多数工具使用ANDROID_HOME环境变量名,因此定义它(如果还没有),但现在ANDROID_ROOT是另一个命名选项。
决定(编辑)
对于那些说为什么不擦除数据重新启动的人。 你每次重启电脑时都重新格式化吗?擦除模拟器上的数据就像对手机进行出厂重置或重新格式化PC上的硬盘驱动器并重新安装操作系统。除非数据完全损坏,否则这是不必要的。
当你关闭模拟器并重新启动它时,它就像将你的电脑置于休眠或睡眠模式。记忆不是被抹去,而是被保存。
冷启动和重启手机或电脑是一样的。它可以重置内存并重新加载。这允许网络模拟以干净的内存启动并正确连接。
所以,不要擦除数据。只是冷启动。如果还是没用,那就擦一下,但要留作最后的手段。
一套无代理
2-invalidate缓存
3 .删除旧的模拟器并添加新的
专业提示:在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
第一:开启飞行模式。 第二:连接模拟器wifi。
我在Windows 10上也遇到了同样的问题。我刚刚进入网络和互联网设置>更改适配器选项>右键单击Wi-Fi并选择属性>在列表中选择internet协议版本4并单击属性>打开“使用以下DNS服务器地址”并填写第一部分“8.8.8.8”地址。 问题解决了!
推荐文章
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- 安装APK时出现错误
- 碎片中的onCreateOptionsMenu
- TextView粗体通过XML文件?
- 如何使线性布局的孩子之间的空间?
- DSL元素android.dataBinding。enabled'已过时,已被'android.buildFeatures.dataBinding'取代
- ConstraintLayout:以编程方式更改约束
- PANIC: AVD系统路径损坏。检查ANDROID_SDK_ROOT值
- 如何生成字符串类型的buildConfigField
- Recyclerview不调用onCreateViewHolder
- Android API 21工具栏填充
- Android L中不支持操作栏导航模式
- 如何在TextView中添加一个子弹符号?
- PreferenceManager getDefaultSharedPreferences在Android Q中已弃用
- 在Android Studio中创建aar文件