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".
当前回答
如果您的网络上有PiHole,请确保您的Pi正在工作,并且您可以访问PiHole的web UI。每一次,当我的模拟器突然无法连接到互联网时,都是因为它们中的任何一个出了问题。
其他回答
我在升级到SDK 2.3的旧Stack Overflow线程上找到了一个临时解决方案-现在没有模拟器具有连接性。注意,本文讨论的是Android SDK 2.3,而不是Android Studio 2.3。问题似乎是模拟器无法找到我的计算机当前正在使用的DNS,临时的解决方法是从命令行启动模拟器并指定DNS服务器。无论当时发生了什么问题,一定会在最新版本的Android Studio中重新出现。
下面概述的临时解决方案修复了模拟器访问internet的问题。但是,它并没有修复试图运行Android设备监视器时发生的问题。这样做仍然会使模拟器脱机,如上所述。
注意,在sdk中有两个名为“模拟器.exe”的文件——一个在sdk\tools下,另一个在sdk\emulator下。任何一个都可能在下面工作,但我使用sdk\emulator下的一个。
第一步是找到SDK的位置。假设用户名为“jdoe”,并且在Windows上默认安装了Android Studio,那么SDK很可能在
C:\Users\jdoe\AppData\Local\Android\sdk
第二步是确定要运行的AVD(模拟器)的名称。命令
C:\Users\jdoe\AppData\Local\Android\sdk\emulator\emulator.exe -list-avds
将显示avd的名称。在我的计算机上,它只显示了一个,Nexus_5X_API_25。
要使用指定的DNS服务器从命令行启动模拟器,可以使用如下命令:
C:\Users\jdoe\AppData\Local\Android\sdk\emulator\emulator.exe -avd Nexus_5X_API_25 -dns-server 8.8.8.8
在此例中,8.8.8.8为谷歌公共域名服务器。
如果创建适当的环境变量并编辑PATH环境变量,则可以缩短上面的命令,但我建议在这样做时要谨慎。
适用于苹果MacBook M1用户
自2022年2月1日起生效
Android模拟器 转到扩展控制。 然后进入代理(Tab)下的设置, 使用Android studio HTTP代理设置 单击Apply 重新启动/冷启动模拟器。
这将修复模拟器上的互联网连接问题。
我在升级后遇到了同样的问题。在模拟器中打开Chrome浏览器后,无法再访问google.com。
我在SO上找到了一篇文章,指出问题是模拟器试图使用一个断开连接的网络适配器。对我来说,这个问题是在我连接到局域网时发生的。禁用无线局域网适配器解决了这个问题。
禁用适配器。
导航到网络连接 找到适配器 右键单击并选择禁用
对我来说,在OSX上,这是因为使用第三方VPN解决方案…它安装了一些avd和Genymotion无法通过的网络钩子。必须卸载它才能正常工作。在某些网络上工作得很好,而在其他网络上则不行……很奇怪…
请点击下面的链接。
https://developer.android.com/studio/run/emulator-networking
打开模拟器,点击更多…,然后单击“设置和代理”。从这里,您可以定义自己的HTTP代理设置。
输入主机名 执行> cmd > hostname
最后,通过chrome浏览器或谷歌检查模拟器内部的网络访问。
注意:经常擦数据就会清除这个问题。请遵循所有步骤
推荐文章
- 改变开关的“开”色
- 以编程方式将EditText的输入类型从PASSWORD更改为NORMAL,反之亦然
- 如何在隐藏和查看密码之间切换
- 在Android上调整一个大的位图文件到缩放输出文件
- 如何更改Android版本和代码版本号?
- Android Studio突然无法解析符号
- 应用程序重新启动而不是恢复
- 如何设置整个应用程序在纵向模式?
- Android中文本的阴影效果?
- 以编程方式设置TextView的布局权重
- Android -如何覆盖“后退”按钮,所以它不完成()我的活动?
- 如何从通知点击发送参数到一个活动?
- 导航目标xxx对于这个NavController是未知的
- 使用ConstraintLayout均匀间距的视图
- 文件google-services错误。模块根文件夹中缺少Json。谷歌服务插件没有它就不能正常工作。