Android模拟器无法访问互联网

问题描述 投票:124回答:31

我知道之前已经提出了类似的问题,但是我的问题是在2017年3月安装最新版Android Studio 2.3之后才出现的问题。我有几年开发Android应用程序的经验,我之前从未遇到过这个问题。升级到Android Studio 2.3版后,我的模拟器无法再访问互联网。我甚至从头开始卸载/重新安装Android Studio 2.3并创建了一个新的模拟器,我仍然遇到同样的错误。这不是应用程序问题。我甚至无法从Chrome访问互联网,上周我没有遇到这个问题。我收到的消息说无法找到服务器DNS地址 - DNS_PROBE_FINISHED_BAD_CONFIG。上周在我的计算机上唯一发生变化的是Android版的新版本以及可能对Windows 10的更新。是的,我的电脑可以访问互联网。下面是我尝试使用Chrome搜索“Google”时的模拟器图片。 emulator with error message

android emulation android-studio-3.0
31个回答
185
投票

Change the DNS address of your network to 8.8.8.8:

MacOSX:
  • 打开“系统偏好设置”
  • 点击“网络”
  • 选择计算机所连接的网络,然后单击“高级”
  • 选择“DNS”,选择“+”按钮,输入“8.8.8.8”
  • 选择“确定”和“应用”

Windows & Linux:

https://developers.google.com/speed/public-dns/docs/using

After that close the emulator and start it again.


9
投票

我已经解决了从AVD Manager擦除数据的问题


7
投票

这对我来说是一个问题,上次模拟器自我更新,然后禁用其他网络适配器修复它。现在它再次出现,但唯一启用的适配器是单个wifi,所以我没有什么可以禁用。

在我通过提示将模拟器工具更新到26.1.1后,问题才重新出现。我通过SDK Tools更新选项卡卸载并重新安装了模拟器,幸好现在再次安装的唯一选择是安装26.0.3(这似乎工作正常)。

故事的道德是要非常警惕模拟器的更新。


4
投票

对我来说问题是因为我把笔记本电脑带回家而没有重新启动模拟器。根据我的阅读,当模拟器启动时,它会读取您的PC的DNS设置并使用它们。当我在家庭网络上时,我的工作DNS设置失败了。 是的。只是重新启动模拟器解决了我的问题。


4
投票

如果Android浏览器可以访问互联网,您可以通过此命令从终端运行模拟器

然后转到SDK路径

$ / tools / emulator -avd Nexus_5X_API_23 -netdelay none -n​​etspeed full

它解决了你的互联网问题......


3
投票

经过10天的麻烦,我刚从C:\Android\.android\删除了所有内容并删除了所有已创建的AVD。现在互联网似乎工作正常。


3
投票

我在android studio 3.1上,它发生了。通过重新启动adb服务器解决了这个问题

$ adb kill-server
$ adb start-server

希望能帮助到你。谢谢


3
投票

提醒:如果您在计算机上打开VPN系统,则Android Emulator Internet连接不起作用。


2
投票

只是使用另一个目标API重新创建模拟器


2
投票

我有同样的问题,我通过以下步骤解决: -

转到模拟器设置,然后转到

setting-> Proxy->手动配置或使用Tick使用Android Studio HTTP代理模拟器。


2
投票

我在windows中为这个问题得到了一个简单而永久的解决方案。

转到网络和互联网选项 - > enter image description here

点击以太网或wifi(你连接的是)选项 - > qazxsw poi

单击更改适配器选项 - > enter image description here

右键单击已连接的网络。 enter image description here

将打开一个对话框,只需单击Internet协议版本(TCP / IPv4)选项。 qazxsw poi

将打开另一个对话框,忽略第一组关于IP地址(保持设置)并单击使用以下DNS服务器地址的单选按钮:并在首选DNS服务器中输入8.8.8.8:和8.8。 4.4在备用DNS服务器中:enter image description here

现在你可以随时打开你的模拟器,你将在Android模拟器中获得互联网。


101
投票

我在Upgraded to SDK 2.3 - now no emulators have connectivity的旧Stack Overflow线程上找到了一个临时解决方案。请注意,此主题讨论Android SDK 2.3,而不是Android Studio 2.3。问题似乎是模拟器找不到我的计算机当前正在使用的DNS,临时解决方法是从命令行启动模拟器并指定DNS服务器。无论发生什么问题,都必须在最新版本的Android Studio中重新出现。

下面概述的临时解决方案解决了模拟器访问互联网的问题。但是,它不能解决尝试运行Android Device Monitor时出现的问题。这样做仍然会使仿真器如上所述脱机。

请注意,sdk中有两个名为“emulator.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是Google公共域名服务器。

如果您创建适当的环境变量并编辑PATH环境变量,则可以缩短上述命令,但我建议您这样做时要小心。


2
投票

我在Windows 10上遇到了同样的问题。我只是去了enter image description here。问题解决了!


1
投票

我在我的MAC上遇到了非常突然的问题。在尝试了一切之后,我终于删除了文件夹/Users/Philippe/.android并创建了一个新的模拟器。


1
投票

也许您为Android Studio设置了代理,但代理不起作用。尝试没有代理。


1
投票

我有2017年的视觉工作室,这个简单的点击几下修复了Android模拟器的互联网问题。

enter image description here


0
投票

我也有这个,我通过创建新的Android模拟器虚拟设备和选择Nexus 4 api 27来解决它。在我创建Pixel设备api 28之前,它甚至在重新创建设备后仍无法正常工作。所以我尝试了完全不同的配置,Android Emulator有预期的互联网连接。其他解决方案对我没有用,但我没有尝试过。


0
投票

与我的模拟器有同样的问题,做了一切,但没有任何效果。在我的控制面板 - >网络和共享中心 - >从192.168.1.119到192.168.1.1的本地区域连接设置中更改默认网关。我对这个IP地址的工作原理并不太了解,但也许这会节省一些人的时间和挫折感。


0
投票

对我来说问题是我的电脑连接到VPN。一旦我断开它,它开始在模拟器中工作。


0
投票

专业提示:在Linux上使用AVD和dnsmasq

了解您阅读从Android Studio设置Android模拟器网络。

仿真设备的环回是Network & internet settings> Change adapter options> right-click on Wi-Fi and chose properties> Chose Internet protocol version 4 in the list and clicked properties> Turned on the "Use the following DNS server addresses" and filled the first part with "8.8.8.8" address,可以从enter image description here的仿真设备访问主机环回。

在启动时,模拟设备通过从127.0.0.1中的主机中选择那些来设置其DNS名称服务器。

但问题是,如果您使用的是dnsmasq10.0.2.2nameserver 127.0.0.1/etc/resolv.conf / etc / resolv.conf`,那么模拟设备将点击它自己的环回,其中没有运行,而不是运行DNS服务器的主机环回。

要解决此问题,请在从CLI运行AVD时添加, you set

例如:

  • Cloudflare DNS:in
  • 主持人的dnsmasq:-dns-server

0
投票

对于OSX来说,这是因为使用了第三方VPN解决方案...它安装了AVD和Genymotion无法通过的某种网络挂钩。不得不卸载它才能正常工作。在一些网络上工作得很好而在其他网络上工作得很好......非常奇怪......


0
投票

我在Android模拟器V 7.1.1中遇到了相同的网络连接问题,然后我在Android模拟器中将Android版本降低到7.1.1以下,然后它的工作正常。


67
投票

在尝试了许多这些解决方案之后,我将删除当前的AVD并重新制作它,但当我点击AVD上的向下箭头时,我注意到“现在冷启动”。

AVD Menu

我突发奇想,试过了。瞧,我的模拟器再次有互联网连接!

编辑:好的,对于那些说为什么不只是擦除数据并重新启动的人。每次重新启动时,您是否重新格式化了PC?在仿真器上擦除数据就像在电话上恢复出厂设置或在PC上重新格式化硬盘驱动器并重新安装操作系统一样。除非数据完全损坏,否则没有必要。

当您关闭模拟器并重新启动它时,就像将您的PC置于休眠或睡眠模式。内存未擦除,保存。

进行冷启动与重启手机或重启PC是一样的。它重置内存并让事情重新加载。这允许网络仿真从干净的内存开始并正确连接。

所以,不要擦除你的数据。刚刚冷启动。如果它仍然无效,则擦除,但保存为最后的手段。


-2
投票

最后,我不得不删除~/Android/Sdk/emulator/emulator -avd Nexus_9_API_23 -dns-server 1.1.1.1文件夹并创建新文件夹。似乎文件已损坏


44
投票

更新我的WIFI适配器以解析8.8.8.8上的DNS解决了我的问题。它发生在苹果更新后,它搞砸了DNS地址。

enter image description here


23
投票

升级后我遇到了同样的问题。在模拟器中打开Chrome浏览器后,无法再访问google.com。

我发现post on SO表明问题出在模拟器试图使用断开的网络适配器。对我来说,当我连接到局域网时,问题就出现了。禁用无线LAN适配器可解决此问题。

要禁用适配器:

  1. 导航到网络连接
  2. 找到适配器
  3. 右键单击并选择禁用

17
投票

只需打开AVD管理器并擦除该模拟器的数据就可以了。


13
投票

我也面临同样的问题,但我试图用各种帖子来解决问题。今天我发现了这个问题。您的计算机配置很可能是问题,而不是Android Studio和Android Emulator。

问题来自您的网络设置。只需set the Primary DNS Server到8.8.8.8,这将解决问题。


11
投票

打开Android模拟器并转到扩展控件。然后转到setting => proxy(Tab)并取消选中“使用Android studio HTTP代理设置”。


10
投票

当模拟器冻结并且我不得不杀死进程时,这发生在我身上。信号图标始终显示屏幕截图中的小“x”,并且没有互联网连接成功。

唯一有帮助的是卸载并重新安装模拟器(不是AVD图像)

在Android Studio中:

工具 - > Android - > SDK管理器取消选中“Android Emulator”并让它卸载然后再次检查并再次安装。

Screenshot

© www.soinside.com 2019 - 2024. All rights reserved.