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

时间:2018-06-03 20:10:41

标签: android android-studio android-emulator 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.13.4上直接连接到我的路由器而没有代理。

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

似乎没有任何效果。有人遇到过这个问题并找到了解决方案吗?

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

谢谢, 维克拉姆

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

29 个答案:

答案 0 :(得分:39)

下面说明的是适用于Windows和Mac的解决方案,但是类似的解决方案也可以在任何操作系统中使用:

  1. 在Windows上

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

      8.8.8.8
      8.8.4.4
      
  2. 在Mac上

    • 转到 设置>网络>高级...> DNS
    • 删除那里的所有条目,然后添加这两个条目(下面的屏幕截图):

      8.8.8.8
      8.8.4.4
      

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

屏幕截图:

  1. Windows

Android emulator not connecting to internet solution on a windows

  1. Mac

Android emulator not connecting to internet solution on a mac


编辑:这是针对当模拟器的wifi已将DNS更改为8.8.8.8以外的DNS的情况的解决方案。 时间,可能还有其他原因可能无法从该解决方案中解决。

答案 1 :(得分:22)

@TheBaj:我想到了这个问题并修复了它。问题是当你通过路由器连接时,你的模拟器中的androidwifi使用设置并将DNS设置为8.8.8.8以外的其他东西,这是谷歌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
   }

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

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

谢谢, 维克拉姆

答案 2 :(得分:18)

似乎这个问题的先前答案在 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 设置 下拉菜单并将其更改为静态。然后输入您在第 2 步中记下的IP 地址网关。确保DNS 1 是 8.8.8.8,DNS 2 是 8.8.4.4。这些是自动为我填写的。
  5. 关闭模拟器并使用Cold Boot Now 选项重新启动它。

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

答案 3 :(得分:14)

我使用Mac OSX 10.13的解决方案

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

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

答案 4 :(得分:9)

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

步骤:

  1. 转到模拟器设置
  2. 选择代理标签
  3. 然后选中“使用Android Studio HTTP代理设置”选项
  4. 点击“应用”

答案 5 :(得分:8)

在macOS上:

  1. 系统偏好设置中打开网络
  2. 从左侧选择您当前的网络,然后单击高级...
  3. 配置IPv6 (在 TCP / IP 标签下)从自动更改为仅本地链接。< / li>
  4. 重新启动模拟器。

答案 6 :(得分:6)

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将已连接Internet。

希望这会有所帮助。

答案 7 :(得分:5)

在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地址之前的第一个。说真的,就是这样。

答案 8 :(得分:3)

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

答案 9 :(得分:3)

100%在Windows 10上运行

Android AVD带有在模拟器内部配置的Google DSN。 因此,我们需要将其设置为网络共享才能访问它。

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服务器。

More Info

这里显示设置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. 重新启动Android AVD

注意:如果启用了VPN,则将无法正常工作,需要断开您的VPN

More info on Google DSN

答案 10 :(得分:3)

也许这会对某人有所帮助。我尝试了以上所有解决方案。更改DNS,冷启动等。经过几个小时的反复试验,我去了官方文档,该文档说模拟器选择了DNS配置。模拟器启动时主机的状态。 我的计算机上安装了VMWare,该计算机上安装了一些网络适配器。因此,我刚刚更改了DNS配置。所有适配器(包括VMWare适配器)中,然后冷启动了我的仿真器。 OMG,这个问题似乎没有消失数小时,只是解决了!

现在,我发现奇怪的是,我重新切换了DNS配置。所有适配器都自动运行,然后再次冷启动我的模拟器。 WiFi仍然可以正常工作。 操作系统:Windows 10。

答案 11 :(得分:2)

我已经通过网络适配器8.8.8.88.8.4.4

解决了google dns问题

Android Emulator wifi connected with no internet solution for windows

答案 12 :(得分:1)

如果有人快速修复:

步骤 1:转到 AVD 管理器

第 2 步:停止设备

第 3 步:运行 Android Studio 项目

答案 13 :(得分:1)

在Windows上:

在测试了一些解决方案之后,我通过单击AVD上的向下箭头选项“ Cold Boot Now”找到了我的解决方案。 启动后,Android可以访问互联网,因此对我有用。

答案 14 :(得分:1)

如果已连接任何VPN,请尝试断开连接。

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

答案 15 :(得分:1)

我遇到了同样的问题 - 在模拟器中,我已连接到 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

你真的不需要使用 google dns

答案 16 :(得分:0)

Apple M1 问题的解决方案:

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

这是 android studio 发布列表的链接: https://developer.android.com/studio/archive

(为我工作)

答案 17 :(得分:0)

对于新的搜索者用户: 有时VPN是您的解决方案 总是由于网络问题而无法更改网络设置。 如果您使用的是Google不在这些区域响应的ip地址,则您的解决方案使用的是vpn。请使用适当的vpn(通过该vpn的vpn,您可以更新android studio)。当然,仿真器的api级别很重要,例如我对api 22没问题,但是对于api 28则需要使用vpn!)。这是我关于android模拟器互联网的经验。

答案 18 :(得分:0)

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

答案 19 :(得分:0)

在 Android Studio 4.2 上,我遇到了模拟器 Wifi/LTE 已连接但没有互联网的问题。

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

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

答案 20 :(得分:0)

好吧,我是这样做的:

添加手动代理的步骤:

  1. 转到仿真器设置
  2. 转到代理标签
  3. 设置手动代理配置
  4. 添加您的主机名端口号
  5. 点击应用

参考屏幕截图:

enter image description here

希望有帮助。

答案 21 :(得分:0)

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

答案 22 :(得分:0)

对我有用的东西

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

答案 23 :(得分:0)

如果wifi位置已更改,只需重新启动模拟器即可使模拟器从dhcp服务刷新网络设置。

答案 24 :(得分:0)

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

答案 25 :(得分:0)

通过右键单击虚拟设备列表擦除数据并进行冷启动。

答案 26 :(得分:0)

如果可用,请尝试使用LAN。这对我来说是一种魅力...

答案 27 :(得分:0)

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

  • 步骤:-

    1. 在仿真器选项中单击“更多”
    2. 转到位置
    3. 搜索您的地址,然后单击“设置位置”

答案 28 :(得分:-1)

一个简单的冷启动对我有用,无需启动其他仿真器或擦除内存。

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

祝你好运!

相关问题