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".
当前回答
在尝试了许多这些解决方案之后,我打算删除我当前的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上的硬盘驱动器并重新安装操作系统。除非数据完全损坏,否则这是不必要的。
当你关闭模拟器并重新启动它时,它就像将你的电脑置于休眠或睡眠模式。记忆不是被抹去,而是被保存。
冷启动和重启手机或电脑是一样的。它可以重置内存并重新加载。这允许网络模拟以干净的内存启动并正确连接。
所以,不要擦除数据。只是冷启动。如果还是没用,那就擦一下,但要留作最后的手段。
其他回答
对我来说,在OSX上,这是因为使用第三方VPN解决方案…它安装了一些avd和Genymotion无法通过的网络钩子。必须卸载它才能正常工作。在某些网络上工作得很好,而在其他网络上则不行……很奇怪…
只需要用另一个目标API重新创建模拟器就可以了
正如@osama buzdar所指出的,模拟器首先查看的DNS设置可能在/etc/resolv.conf中指定。在我的情况下,macOS Catalina 10.15.7,该文件中有2个地址:第一个是IPv6,第二个是IPv4,由于某种原因,模拟器可能在IPv6上有问题。
然后我编辑文件(sudo vi /etc/resolv.conf),并将IPv4移到文件的第一个条目,在IPv6之前。重新启动模拟器,它工作了。
对我来说,这个问题是因为我把笔记本电脑带回家时没有重新启动模拟器。据我所知,当模拟器启动时,它会读取你PC的DNS设置并使用它们。当我在家庭网络上时,我的工作DNS设置失败了。 是的。重新启动模拟器就解决了我的问题。
这是一个问题,我上次模拟器更新自己,然后禁用其他网络适配器修复它。现在它又突然出现了,但唯一启用的适配器是一个wifi适配器,所以我没有什么可以禁用的。
在我通过提示更新模拟器工具到26.1.1之后,这个问题才再次出现。我通过SDK Tools更新选项卡卸载并重新安装了模拟器,幸运的是,现在重新安装时唯一的选择是安装26.0.3(似乎工作正常)。
这个故事的寓意是要非常小心模拟器更新。
推荐文章
- Manifest合并失败:uses-sdk:minSdkVersion 14
- 为什么Android工作室说“等待调试器”如果我不调试?
- 如何检查我的EditText字段是否为空?
- Android从图库中选择图像
- 后台任务,进度对话框,方向改变-有任何100%工作的解决方案吗?
- Android:垂直对齐多行EditText(文本区域)
- Android无尽列表
- Android room persistent: AppDatabase_Impl不存在
- 错误:执行失败的任务':app:compileDebugKotlin'。>编译错误。详细信息请参见日志
- 在Android中使用URI生成器或使用变量创建URL
- 缩放图像以填充ImageView宽度并保持纵横比
- 列表视图的自定义适配器
- 在Android中设置TextView span的颜色
- 如何以编程方式在RelativeLayout中布局视图?
- Android Facebook集成无效键散列