Android Studio-Android 模拟器 WiFi 已经连接但是连不上互联网

我已经浪费了一整天的时间在SO和其他地方尝试不同的解决方案,以在Android模拟器上启用WiFi,但没有用。 谁能帮我弄清楚如何在我的Android模拟器上启用互联网?

我用的是 Nexus 5X API 27 平台是是 Android 8.1(Google Play) Nexus 5 API P 运行的平台是 Android 7.1.1。

我相信应该有一种方法可以在它上面启用互联网,否则在模拟器上提供虚拟WiFi的整个意义似乎是浪费。

我在Mac OS HS 10.1 3.4上直接连接到我的路由器,没有代理。

我甚至尝试删除所有的AVD,重新安装它们。我甚至试着安装了最新的Pixel 2和奥利奥Android 8.1。

似乎什么都不起作用。有没有人面对这个问题并找到解决方案?

任何帮助都会有很大帮助。

谢谢, 维克拉姆

更新:当我通过我的手机连接我的电脑作为热点WiFi时,模拟器可以通过WiFi上网,但当我将我的电脑连接到我的家庭路由器时,它失败了。

160462 次浏览

@thebaj:我发现了这个问题,并解决了它。问题是当你通过路由器连接时,你的模拟器中的AndroidWiFi使用设置,并将DNS设置为8.8.8.8以外的东西,即谷歌DNS(我认为这是AndroidWiFi获得互联网访问的一种强制性设置)。但是,如果我在我的网络设置中更改DNS,获取依赖项(尤其是从jcenter()下载的依赖项)的Google服务插件将不会被下载,因此您的同步将失败,最终导致您的构建失败。

因此,诀窍是在默认路由器设置后,在网络设置中配置Google DNS(8.8.8.8)-此部分负责从jcenter()下载依赖项,并且同步和构建成功。

现在,从终端使用emulator @Nexus_5X_API_27 -dns-server 8.8.8.8命令启动仿真器,这将强制仿真器使用8.8.8.8作为其DNS,并且仿真器将具有Internet.

我正在开发一个React-Native应用程序,所以对我来说Android Studio是不必要的,我已经配置了我的BASHRC来启动不同的模拟器,如下所示。

   function emunex5 {
emulator @Nexus_5X_API_27 -dns-server 8.8.8.8
}


function emunex6 {
emulator @Nexus_6_API_27 -dns-server 8.8.8.8
}


function emupix {
emulator @Pixel_XL_API_27 -dns-server 8.8.8.8
}

因此,我从一个终端启动我选择的模拟器,然后在另一个终端上运行构建,该终端在启动的模拟器上运行我的应用程序,并且我的该死的模拟器可以访问互联网。

试试这个,我希望这能有所帮助。

谢谢, 维克拉姆

我已经解决了谷歌DNS上的网络适配器8.8.8.88.8.4.4

Android Emulator wifi connected with no internet solution for windows

以下是适用于Windows和Mac的解决方案,但类似的解决方案适用于任何操作系统:

  1. 在Windows上

    • 打开网络与共享中心,然后单击当前连接
    • 单击“_ABC ”_0
    • 双击互联网协议版本4(TCP/IPv4)
    • 将首选和备用DNS服务器设置为(下面的屏幕截图):

      8.8.8.8
      8.8.4.4
      
  2. On Mac

    • Go to Settings > Network > Advanced... > DNS
    • Delete whatever entries you have there and add these two entries (Screenshot below):

      8.8.8.8
      8.8.4.4
      

      注意:对于Mac用户,如果“条目”字段被禁用并且您无法对其进行编辑,请单击该窗口底部区域的“锁定”图标并输入密码以进行更改

重新启动模拟器,它应该解决:

屏幕截图:

  1. 窗户

Android emulator not connecting to internet solution on windows

  1. 麦克

Android emulator not connecting to internet solution on a mac


编辑:这是当仿真器的WiFi将DNS更改为某些不工作的DNS时的修复程序。虽然这在大多数情况下都有效,但也可能存在其他无法通过此解决方案解决的原因。

好吧,我是这样做的:

添加手动代理的步骤:

  1. 转至仿真器设置
  2. 转到代理选项卡
  3. 将_ABC设置为_0
  4. 添加主机名&;端口号
  5. 单击“_ABC ”_0

参考屏幕截图:

enter image description here

希望能有所帮助。

我使用Mac OSX 10.13的解决方案

我读到它是由LAN卡和启用的WiFi引起的,有些方法对我来说似乎很复杂,所以我简单地尝试了一下,它成功了:

  • 我的笔记本电脑上的WiFi被禁用。
  • 已关闭模拟器。
  • 已在仿真器上进行冷启动(AVD管理器->;在仿真器操作上->;现在冷启动)。
  • 在禁用笔记本电脑WiFi的情况下重新启动后,模拟器显示正确的WiFi连接(模拟器仍然显示AndroidWiFi,但已连接到我的笔记本电脑互联网。WiFi符号现在看起来像这样:_ABC(_0)
  • 然后我在我的笔记本电脑上启用了WiFi,一切正常。

在Windows上:

测试了一些解决方案后,我通过单击AVD上的向下箭头“立即冷启动”选项找到了我的解决方案。 启动后,Android可以访问互联网,所以它为我工作。

对我有用的是:

  • 关闭仿真器电源(使用其电源键)
  • 在另一个模拟器上启动你的应用,然后关闭它。
  • 现在再次在以前的模拟器中启动您的应用程序。

如果WiFi点已更改,只需重新启动仿真器,以便仿真器从DHCP服务刷新网络设置。

在Android模拟器上重置网络设置可解决此问题。

通过右键单击虚拟设备列表来擦除数据&;冷启动对我有用..

一个简单的冷启动为我工作,不需要启动其他模拟器或清除内存。

只需关闭模拟器并选择播放按钮旁边的下拉菜单上的“立即冷启动”选项。如果没有,请寻找这里列出的任何更全面的选项,但我建议始终从最简单的解决方案开始。

祝你好运!

如果可以的话,可以尝试使用局域网。这对我来说是一种魅力。

对于新的搜索者用户: 有时VPN是您的解决方案 由于网络问题,无法始终更改网络设置。 如果您的IP地址是Google不响应这些区域的IP地址,则您的解决方案是使用VPN.使用适当的VPN(通过它可以更新您的Android Studio的VPN)。当您的VPN打开时,启动您的AVD设备(当然,仿真器的API级别很重要,例如,我对API 22没有任何问题,但API 28需要使用VPN!)。这是我对Android模拟器互联网的体验。

更改模拟器的位置并将其设置为当前位置。

  • 步骤:-

    1. 单击模拟器选项中的更多
    2. 转到位置
    3. 搜索您的地址并单击设置位置

我遇到了同样的问题,并按照以下步骤解决了它。

步骤:

  1. 转到仿真器设置
  2. 选择“代理”选项卡
  3. 然后选中“使用Android Studio HTTP代理设置”选项
  4. 单击“应用”

也许这能帮助一些人。我尝试了上面所有的解决方案。更改DNS、冷启动等经过几个小时的反复试验,我去了官方文档,上面说模拟器可以获取DNS配置。在仿真器启动时主机的。 我在我的机器上安装了VMware,它安装了一些网络适配器。所以,我刚刚更改了DNS配置。所有适配器(包括VMware适配器)和冷启动的模拟器。 OMG,这个问题似乎几个小时都没有消失,就这样解决了!

现在,我发现奇怪的是,我切换回DNS配置。所有的适配器都是自动的,然后再次冷启动我的模拟器。无线网络仍然很好,操作系统:Windows 10。

100%在Windows 10上工作

Android AVD带有在模拟器中配置的Google DSN. 因此,我们需要将SAME设置为网络共享以访问SAME.

Google公共DNS IP地址 Google公共DNS IP地址(IPv4)如下:

8.8.8.8

8.8.4.4

Google公共DNS IPv6地址如下:

2001:4860:4860::8888 2001:4860:4860::8844 您可以使用任何一个地址作为您的主DNS服务器或辅助DNS服务器。

更多信息

在这里,我显示了设置V4 IP的步骤

  1. 打开网络和共享中心
  2. 右键单击当前Internet连接
  3. 选择“属性”
  4. 双击Internet协议版本4(TCP/IPv4)
  5. 选择使用以下DNS服务器地址
  6. 设置首选和备用DNS服务器
  7. 首选DNS服务器:8.8.8.8
  8. 备用DNS服务器:8.8.4.4
  9. 单击“确定”
  10. 重启Android AVD

注意:如果启用了VPN,那么它将无法工作,需要断开您的VPN

More info on Google DSN

Windows解决方案:

  1. 转到您的Android SDK位置,例如:C:\Users\shehzad\AppData\Local\Android\SDK\Emulator
  2. 在同一位置打开命令提示符。写入以下命令:emulator -avd Nexus_4_API_29 -gpu host -dns-server 8.8.8.8。在这里,Nexus_4_API_29将是您的模拟器设备名称(您可以从Android Studio->AVD管理器中找到设备列表)。此命令将运行您指定的设备,并且WiFi将连接互联网。

希望这能有所帮助。

在Mac OSX上(对我来说是Catalina),这个问题是由模拟器通过查看/etc/resolv.conf并选择第一个(在我的例子中是IPv6地址)来自动选择名称服务器这一事实引起的。来源:_农行_0

只需编辑文件(sudo vi/etc/resolv.conf)并将IPv4地址(在我的示例中为192.168.1.1)移到IPv6地址之前。说真的,就是这样。

在MacOS上:

  1. 系统偏好设置中打开网络
  2. 从左侧选择您当前的网络,然后单击“_ABC ”_0。
  3. 配置IPv6(在TCP/IP选项卡下)从自动地更改为仅限本地链路
  4. 重新启动仿真器。

如果您有任何VPN连接-尝试断开连接。

对我来说,这是通过Cisco AnyConnect Secure Mobility Client的VPN.一旦我关闭了思科客户端(它终止了VPN连接),Android模拟器上的WiFi就开始工作了。

我也遇到了同样的问题——在模拟器中,我连接到WiFi/LTE,但我无法访问任何网站。

我的解决方案是修复我的家庭DNS服务器的IP:

$ cat /etc/resolv.conf
search home
nameserver 192.168.1.1 #was 192.168.0.1 - it used to work when I was connected to a different router
nameserver 1.1.1.1
nameserver 1.0.0.1

你真的不需要使用谷歌DNS.

我希望我能为某人省去很多痛苦,我什么都试过了每个人都在这里说,更改了每个网络适配器的DNS,重新安装了所有东西,SDK,模拟器,甚至Android Studio,什么都不起作用,如果您发现自己处于相同的位置,请检查是否安装了VMware,如果安装了,请不要使用DNS,只需进入控制面板->;网络和共享中心->;更改适配器设置,并禁用任何和所有VMware网络适配器,然后进行冷启动,可立即解决此问题,您甚至可以稍后启用它们,它仍然可以工作

我也有类似的问题,有点奇怪。模拟器以前工作得很好,但后来我去了一家咖啡馆,连接到他们的WiFi,然后模拟器WiFi停止工作。我从AVD管理器中清除了冷启动的数据,然后一切正常,没有任何设置更改。我猜只有冷启动才能在不擦除数据的情况下工作,所以你可以在擦除数据之前尝试一下。

如果有人快速修复:

步骤1:转到AVD管理器

步骤2:停止设备

步骤3:运行Android Studio项目

这个问题之前的答案似乎2021年不再工作(使用Android Studio 4.1.2)。问题是模拟器上的DNS设置。它不再只更改本地PC上的DNS服务器。您必须在模拟器中更改DNS设置。以下步骤适用于运行Android 11的模拟器。其他版本将类似:

  1. 打开模拟器右侧打开的“扩展控件 ”对话框。单击对话框菜单上的设置。单击顶部的代理,并确保使用Android Studio HTTP代理设置已选中。我之所以强调这一点,是因为以前的许多解决方案都说要取消选中这一项。但是,在最新版本中,最好选中此选项。如果尚未选中,请在执行步骤2之前重新启动模拟器
  2. 导航至Emulator中的WiFi连接设置:回家屏幕->;向上滑动->;设置->;网络&;互联网->;Wifi安卓WiFi->;单击齿轮图标->;单击靠近屏幕底部的先进的下拉菜单->;向上轻扫可查看网络详细信息
  3. 对于域名系统,它表示什么?如果不是8.8.8.8,请按照此步骤进行修复。记下(或记住)网络设置中显示的IP地址网关地址。我们需要将这些IP地址填充为静态地址。
  4. 单击顶部的铅笔图标以编辑网络详细信息。单击“IP设置 ”下拉列表,将其更改为“静态的 ”。然后输入您在步骤2中记下的IP地址网关。确保DNS 1为8.8.8.8,DNS 2为8。这些是自动为我填写的。
  5. 关闭Emulator,然后使用现在冷启动选项重新启动它。

在我尝试了这个页面上的所有其他解决方案和许多其他解决方案都没有成功之后,这为我解决了这个问题。我希望它对你有用。

在Android Studio 4.2上,我遇到了这个问题,两个模拟器都连接了WiFi/LTE,但没有互联网。

对我不起作用的解决方案:打开和关闭WiFi,设置位置/代理,冷启动,擦除数据,VPN等。其他解决方案都不起作用。

对我有效的解决方案:升级到Android Studio 4.2.1并重新启动模拟器。

我的环境是Mac 11.3.1 Big Sur中的Android Studio 4.2.0

0步。 我关闭了我所有的模拟器,也关闭了Android Studio.

步骤1。 然后我打开Android Studio. AVD管理器->;现在冷启动 enter image description here

步骤2。 关闭模拟器上的WiFi. 那么LTE就可以工作。 enter image description here

第3步。(可选) 顺便说一下,我的Mac网络的DNS设置是 enter image description here

如果步骤0->;步骤1->;步骤2不起作用,您可以像步骤3一样设置DNS,然后执行步骤0-amp;gt;步骤1->;再次执行步骤2。

它会起作用的。

这可能不能解决每个人的问题,但我断开了我的WiFi,并使用以太网连接。这解决了我的问题。

苹果M1问题的解决方案:

  1. 安装Android Studio的最新Canary版本之一。使用Mac ARM版本(Apple Silicon)。
  2. 创建新的虚拟设备时,使用API级别S和ARM64虚拟映像。(可以在其他图像中找到)

以下是Android Studio发布列表的链接: https://developer.android.com/studio/archive

(为我工作)

在“扩展控制”下(可通过按下底部的“更多”按钮(3点..)来启用)。

然后在“代理”选项卡下,选择“无代理”。

这些对我都不起作用,然后我打开了“移动热点”。在Windows上。它位于";旁边的任务栏上飞行模式。一切都开始运转了。

我在Windows 11系统中尝试了上述所有操作,但没有结果。 最后,我运行了检查磁盘-Chkdsk C:/f/R-在PC重新启动后,我重新创建了设备。终于成功了。

尝试禁用您的防病毒软件,然后重新启动您的模拟器,这对我的情况很有帮助。

只需重新启动Android Studio即可解决此问题。

我的情况是,我在浏览器中有互联网连接,但在谷歌地图/谷歌Play商店中没有。所以我试着禁用我的VPN.然后它解决了这个问题,我的模拟器网络是活跃的。

有两种方法可以修复此错误。

  1. 你应该再次关闭Android模拟器和[冷启动]。 如果第一种方法不起作用..
  2. 您应该打开[平面模式](在屏幕的顶部菜单上),并在一秒钟后再次关闭。 然后Wi-Fi将连接到互联网。

我尝试了所有这些解决方案,但都没有结果。我正在使用Windows 10操作系统

最后对我起作用的是:

关闭AVD设备的所有实例

2.导航到:

C:\Users\userName\AppData\Local\Android\Sdk\emulator

然后输入以下命令:

.\emulator.exe -avd avd_device_name -dns-server 8.8.8.8

完成这些步骤后,请确保没有任何VPN软件已激活

Open Network and Sharing Center


Right Click on current internet connection


Select Properties


Double Click on Internet Protocol Version 4 (TCP/IPv4)


Select Use the following DNS server address


Set the Preferred and Alternate DNS server


Prefered DNS Server : 8.8.8.8


Alternate DNS Server : 8.8.4.4


Click on OK


Restart Android AVD