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".
当前回答
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重新启动模拟器。
其他回答
也许你为Android Studio设置了代理,但代理不起作用。尝试没有代理。
首先尝试“冷启动”模拟器,建议在这里。 如果冷启动不起作用,请尝试将网络的DNS地址更改为8.8.8.8(谷歌的DNS)或其他您喜欢的DNS:
MacOSX:
打开“系统首选项” 点击“网络” 选择你的电脑所连接的网络,然后点击“高级” 选择“DNS”,选择“+”按钮,输入“8.8.8.8”(谷歌的DNS),或者如果你喜欢OpenDNS,“208.67.222.222” 选择“确定”和“应用”
Windows和Linux:
https://developers.google.com/speed/public-dns/docs/using
之后,关闭模拟器并重新启动它。
在最新的Mac与Jio IP6配置问题,它阻止互联网上的android模拟器,所以从android虚拟设备管理器模拟器列表操作列下拉选择选项“冷启动现在”修复了这个问题。我面对这个问题后,我保持不变,它为我工作。
正如@osama buzdar所指出的,模拟器首先查看的DNS设置可能在/etc/resolv.conf中指定。在我的情况下,macOS Catalina 10.15.7,该文件中有2个地址:第一个是IPv6,第二个是IPv4,由于某种原因,模拟器可能在IPv6上有问题。
然后我编辑文件(sudo vi /etc/resolv.conf),并将IPv4移到文件的第一个条目,在IPv6之前。重新启动模拟器,它工作了。
有同样的问题与我的模拟器,做了上面的一切,但没有工作。 更改我的默认网关 控制面板->网络和共享中心->本地连接设置: 192.168.1.119到192.168.1.1在我这里工作。 我不知道这个IP地址是如何工作的,但也许它会节省一些人的时间和挫折。
推荐文章
- 如何隐藏动作栏之前的活动被创建,然后再显示它?
- 是否有一种方法以编程方式滚动滚动视图到特定的编辑文本?
- 在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)如何均匀地拉伸所有子元素
- 如何让一个片段删除自己,即它的等效完成()?