Android模拟器wifi连接没有互联网

Vik*_*shi 42 android android-emulator android-wifi android-studio

我浪费了一整天的时间尝试在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.13.4上直接连接到没有代理的路由器.

我甚至尝试删除所有avds,重新安装它们.我甚至尝试使用Oreo Android 8.1安装最新的Pixel 2

似乎没有什么工作.有人遇到过这个问题并找到了解决方案吗?

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

谢谢,维克拉姆

更新:当我通过手机将我的电脑连接为热点wifi时,模拟器通过wifi连接互联网,但是当我将计算机连接到家用路由器时它失败了.

Ram*_*asi 82

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

  1. 在Windows上

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

      8.8.8.8
      8.8.4.4
      
      Run Code Online (Sandbox Code Playgroud)
  2. 在Mac上

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

截图:

  1. 视窗

Android模拟器无法连接到Windows上的互联网解决方案

  1. 苹果电脑

Android模拟器无法连接到Mac上的互联网解决方案

  • 这个问题,以及 AVD 的冷启动修复了它 (7认同)
  • 这个问题让我感到非常困惑。这样可以完美解决。荣誉! (5认同)
  • 实际上,输入任何有效的“公共”DNS 服务器地址都应该有效,无需专门使用 Google DNS。默认情况下,通常将您的路由器地址设置为 DNS(或者没有,在大多数系统上,它会回退到您的路由器)。然后,您的路由器将根据其配置找出正确的 DNS。然而,这不适用于模拟器,因为模拟器无法直接连接到您的路由器或将其用作我认为的 DNS。因此需要一个静态的公共DNS IP。 (2认同)

ide*_*ech 40

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

  1. 打开在模拟器右侧打开的扩展控件对话框。单击对话框菜单上的设置。单击顶部的代理并确保检查使用 Android Studio Http 代理设置。我强调这一点,因为之前的许多解决方案都说要取消选中此项。但是,在最新版本中,最好保持选中此项。如果尚未检查,请在继续步骤 2 之前重新启动模拟器
  2. 导航到模拟器中的 WiFi 连接设置: 屏幕 -> 向上滑动 ->设置->网络和互联网-> WiFi AndroidWifi -> 点击齿轮图标 -> 点击屏幕底部附近的高级下拉菜单 -> 向上滑动查看网络详情
  3. 它对DNS说明了什么。如果不是 8.8.8.8,请按照此修复。记下(或记住)网络设置中显示的IP 地址网关地址。我们需要将这些 IP 地址填写为静态。
  4. 单击顶部的铅笔图标可编辑网络详细信息。单击IP 设置下拉菜单并将其更改为Static。然后输入您在步骤 2 中记下的IP 地址网关。确保DNS 1为 8.8.8.8,DNS 2为 8.8.4.4。这些为我自动填写。
  5. 关闭模拟器并使用Cold Boot Now选项重新启动它。

在我尝试了在此页面和许多其他页面上找到的所有其他解决方案失败后,这为我解决了这个问题。我希望这个对你有用。

  • 工作解决方案。谢谢。也不需要重新启动模拟器。只需断开并重新连接 AndroidWifi 即可修复此问题。 (4认同)
  • 谢谢,它成功了。现在这应该是正确的答案。 (2认同)
  • 唯一有效的解决方案 (2认同)
  • 没关系,我应该取消选中“在工具窗口中运行” (2认同)
  • 我已经尝试了上述所有解决方案,但没有奏效,这是唯一完美运行的解决方案。干杯 (2认同)
  • 一步步跟踪,发现DNS由于某种原因发生了变化。按照你的步骤操作后就可以使用了。 (2认同)
  • 在 Android Emulator 31.1.4 和 Android Studio Arctic Fox 上工作 | 2020.3.1 补丁 4 (2认同)

Vik*_*shi 27

@TheBaj:我想到了这个问题并修复了它.问题是当你通过路由器连接时,你的模拟器中的androidwifi使用设置并将DNS设置为8.8.8.8以外的其他东西,这是google DNS(我认为这是androidwifi获取互联网的强制性设置访问).但是,如果我在我的网络设置中更改DNS,那么获取依赖项的google-services插件(尤其是从中下载的依赖项)jcenter()将不会被下载,因此您的同步将失败,最终导致您的构建失败.

所以诀窍是你在默认路由器设置之后在你的网络设置中配置了你的谷歌DNS(8.8.8.8) - 这部分负责下载依赖关系,jcenter()同步和构建成功.

现在使用emulator @Nexus_5X_API_27 -dns-server 8.8.8.8来自终端的命令启动您的模拟器,该命令强制模拟器使用8.8.8.8作为其DNS并且模拟器将具有互联网.

我正在研究一个本机应用程序,所以对我来说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
   }
Run Code Online (Sandbox Code Playgroud)

所以从一个终端我启动我选择的模拟器,然后在另一个终端上运行构建,该终端在启动的模拟器上运行我的应用程序,我的FREAKING EMULATOR有互联网访问.:)

试试这个,我希望这会有所帮助.

谢谢,维克拉姆


Mil*_*hen 19

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

步骤0. 我关闭所有模拟器,并关闭Android Studio。

步骤1. 然后我打开Android Studio。AVD 管理器 -> 立即冷启动 在此输入图像描述

步骤2. 关闭模拟器上的Wifi。然后LTE就可以工作了 在此输入图像描述

步骤 3.(可选)顺便说一句,我的 mac 网络的 DNS 设置是 在此输入图像描述

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

它会起作用的。


Vin*_*Sit 18

在 macOS 上:

  1. 系统偏好设置中打开网络
  2. 从左侧选择您当前的网络,然后单击Advanced...
  3. Configure IPv6(在TCP/IP选项卡下)从Automatically更改为Link-local only
  4. 重启你的模拟器。


Pra*_*eth 11

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

脚步:

  1. 进入模拟器设置
  2. 选择代理选项卡
  3. 然后勾选“使用 Android Studio HTTP 代理设置”选项
  4. 点击应用


She*_*ama 11

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 Manager 中找到设备列表)。此命令将运行您指定的设备,WIFI 将连接互联网。

希望这可以帮助。


Jua*_*dán 10

我使用Mac OSX 10.13的解决方案

我了解到它是由启用LAN卡和WiFi引起的,并且某些方法对我来说似乎很复杂,所以我只是尝试了一下,并且它起作用了:

  • 我的笔记本电脑上禁用了WiFi。
  • 关闭模拟器。
  • 在模拟器上进行了冷启动(AVD Manager->在模拟器操作上->立即进行冷启动)。
  • 在禁用WiFi的情况下重新启动后,模拟器显示了正确的WiFi连接。然后,我在笔记本电脑上启用了WiFi,一切正常。

  • 为我工作!我刚刚在禁用 wifi 的情况下进行了冷启动,效果很好。 (5认同)
  • 这很有效,我在“冷启动”之前做了“擦除数据”,并且必须在模拟器中配置 WiFi,在主屏幕上向下滑动时会收到通知。 (3认同)
  • 惊人的!!!谢谢!!!但对我来说 - 我也必须在模拟器上禁用和启用 Wi-fi。 (3认同)
  • 这是比修改计算机上的全局 DNS 设置更好的解决方案。 (3认同)
  • 这是最好的答案。 (2认同)
  • 经过无数个小时在互联网上搜索可行的解决方案但无济于事,只需要在 WiFi 关闭的情况下进行冷启动即可。 (2认同)

Dem*_*her 9

在 Mac OSX(对我来说是 Catalina)上,问题是由于模拟器通过查看 /etc/resolv.conf 并选择第一个(在我的情况下是 IPv6 地址)来自动选择名称服务器这一事实引起的。来源:https : //developer.android.com/studio/run/emulator-networking#dns

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


Mar*_*edy 8

我已经解决了网络适配器上的 google dns8.8.8.88.8.4.4

Android Emulator wifi 连接没有适用于 Windows 的互联网解决方案


Hir*_*tel 8

好吧,我是这样做的:

添加手动代理的步骤:

  1. 进入模拟器设置
  2. 转到代理选项卡
  3. 设置手动代理配置
  4. 添加您的主机名端口号
  5. 点击应用

参考截图:

在此处输入图片说明

希望能帮助到你。

  • 你如何找到你的主机名? (5认同)

Ham*_*oja 8

在 Windows 上:

在测试了一些解决方案后,我通过单击 AVD 上的向下箭头,选项“立即冷启动”来处理我的案例。启动后,Android就可以访问互联网了。


小智 8

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


Vin*_*yak 8

100% 在 Windows 10 上工作

Android AVD 带有在模拟器内配置的 Google DSN。所以我们需要将相同设置为网络共享以访问相同。

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

8.8.8.8

8.8.4.4

谷歌公共 DNS IPv6 地址如下:

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

更多信息

这里我展示了设置 v4 IP 的步骤

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

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

有关 Google DSN 的更多信息


小智 6

也许这会对某人有所帮助。我尝试了上面所有的解决方案。更改 DNS、冷启动等。经过几个小时的反复试验,我查阅了官方文档,其中说模拟器会获取 DNS 配置。模拟器启动时的主机。我的机器上安装了 VMWare,它安装了一些网络适配器。所以,我只是更改了 DNS 配置。所有适配器(包括 VMWare 适配器),并冷启动我的模拟器。天哪,这个问题似乎几个小时都没有消失,现在就解决了!

现在,我发现奇怪的是,我切换回了 DNS 配置。将所有适配器设置为自动,然后再次冷启动我的模拟器。WiFi 仍然工作得很好。操作系统:Windows 10。


iam*_*nik 6

我希望我能帮别人减轻很多痛苦,我尝试了每个人在这里所说的一切,更改了每个网络适配器的DNS,重新安装了所有东西,SDK,模拟器,甚至android studio,没有任何效果,如果你发现自己处于同样的位置检查是否安装了 VMware,如果安装了,请不要理会 DNS,只需进入“控制面板”->“网络和共享中心”->“更改适配器设置”,然后禁用所有 VMware 网络适配器,然后冷启动即可解决问题立即,您甚至可以稍后启用它们,而且它仍然有效


Gab*_*oki 6

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

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


Ado*_*mas 5

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

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