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模拟器,进入扩展控件。然后进入setting => proxy(Tab),取消勾选“Use Android studio HTTP proxy setting”,点击“Apply”。
其他回答
对于这个问题,我有一个简单而永久的解决方案。
进入网络和互联网选项->
点击以太网或wifi(你连接的)选项->
单击更改适配器选项->
右键单击已连接的网络。
将打开一个对话框,只需单击Internet协议版本(TCP/IPv4)选项。
弹出另一个对话框,忽略第一组IP地址(保持不变),单击“使用以下DNS服务器地址:”单选按钮,在“首选DNS服务器:”和“备选DNS服务器”中分别输入8.8.8.8和8.8.4.4:
现在你可以随时打开你的模拟器,你会得到互联网在安卓模拟器。
我不知道这是否能帮助任何人,对我有用的是在模拟器的android设置上设置正确的(当前)日期和时间,看起来很奇怪。
我突然在我的MAC上遇到了同样的问题。在尝试了所有方法之后,我终于删除了/Users/Philippe/文件夹。并创建一个新的模拟器。
我有visual studio 2017,这简单的几次点击已经修复了Android模拟器的互联网问题。
我在升级到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环境变量,则可以缩短上面的命令,但我建议在这样做时要谨慎。
推荐文章
- 如何隐藏动作栏之前的活动被创建,然后再显示它?
- 是否有一种方法以编程方式滚动滚动视图到特定的编辑文本?
- 在Android中将字符串转换为Uri
- 如何在NestedScrollView内使用RecyclerView ?
- 移动到另一个EditText时,软键盘下一步点击Android
- Android应用中的GridView VS GridLayout
- Activity和FragmentActivity的区别
- 右对齐文本在android TextView
- 权限拒绝:start前台需要android.permission.FOREGROUND_SERVICE
- 如何更改android操作栏的标题和图标
- Android Split字符串
- 让一个链接在安卓浏览器启动我的应用程序?
- 如何在Android工作室的外部库中添加一个jar ?
- GridLayout(不是GridView)如何均匀地拉伸所有子元素
- 如何让一个片段删除自己,即它的等效完成()?