Android emulator无法访问internet

Android emulator无法访问internet,android,emulation,android-studio-3.0,Android,Emulation,Android Studio 3.0,我知道以前也有人问过类似的问题,但我的问题是在2017年3月安装最新版本Android Studio 2.3之后才出现的。我有几年开发Android应用程序的经验,以前从未遇到过这个问题。升级到Android Studio的2.3版后,我的emulator无法再访问互联网。我甚至从零开始卸载/重新安装了AndroidStudio 2.3,并创建了一个新的模拟器,但仍然会遇到同样的错误。这不是应用程序问题。我甚至不能从Chrome上上网,上周我也没有这个问题。我收到的消息说找不到服务器DNS地址-

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

我在位于的旧堆栈溢出线程上找到了临时解决方案。请注意,本文讨论的是Android SDK 2.3,而不是Android Studio 2.3。问题似乎是emulator找不到我的计算机当前使用的DNS,临时解决方法是从命令行启动emulator并指定DNS服务器。当时发生的任何问题都必须在最新版本的Android Studio中重新出现

下面概述的临时解决方案修复了模拟器访问internet的问题。但是,它并不能解决运行Android设备监视器时出现的问题。这样做仍然会使仿真器如上所述脱机

请注意,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服务器从命令行启动emulator,请使用以下命令:

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环境变量,则可以缩短上述命令,但我建议在执行此操作时要小心。

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

我发现一个问题,表明问题在于仿真器试图使用断开连接的网络适配器。对我来说,问题发生在我连接到局域网时。禁用无线LAN适配器修复了该问题

要禁用适配器,请执行以下操作:

  • 导航到网络连接
  • 找到适配器
  • 右键单击并选择“禁用”

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

    唯一有帮助的是卸载并重新安装仿真器(而不是AVD映像)

    在Android Studio中:

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


    经过10天的麻烦之后,我刚刚删除了
    C:\Android\.Android\
    中的所有内容,并删除了所有创建的AVD。现在互联网似乎运行良好

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

    在我通过提示将emulator tools更新为26.1.1之后,这个问题才再次出现。我通过SDK工具更新选项卡卸载并重新安装了emulator,谢天谢地,现在再次安装时唯一的选择是安装26.0.3(看起来工作正常)


    这个故事的寓意是,对emulator更新要非常小心

    只是用另一个目标API重新创建emulator对我来说很有用

    对我来说,问题是在我没有重新启动emulator就把笔记本电脑带回家时造成的。据我所知,当模拟器启动时,它会读取电脑的DNS设置并使用它们。当我在家庭网络上时,我的工作DNS设置失败。

    所以是的。只要重新启动模拟器就解决了我的问题。

    只需打开AVD管理器,擦除模拟器的数据即可。我在MAC电脑上突然遇到了同样的问题。在尝试了一切之后,我终于删除了文件夹/Users/Philippe/.android并创建了一个新的模拟器

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


    问题来自您的网络设置。只需8.8.8.8,这将解决问题。

    如果android浏览器可以访问互联网 您可以从终端运行emulator 按此命令

    然后转到SDK路径

    $/tools/emulator-avd Nexus_5X_API_23-netdelay无-网速已满

    它可以解决您的互联网问题…

    将您网络的DNS地址更改为8.8.8.8(谷歌的DNS)或其他您喜欢的地址: MacOSX:
    • 打开“系统首选项”
    • 点击“网络”
    • 选择计算机连接的网络,然后单击“确定”
      $ adb kill-server
      $ adb start-server