Android Studio - 没有互联网连接的 Android 模拟器 Wifi

新手上路,请多包涵

我浪费了一整天的时间尝试在 SO 和其他提到的地方浮动的不同解决方案,以在 android 模拟器上启用 wifi,但无济于事。谁能帮我弄清楚如何在我的安卓模拟器上启用互联网?

我有 Nexus 5X API 27,目标是 Android 8.1 (Google Play) 和 Nexus 5 API P,目标是 Android 7.1.1。

我相信应该有一种方法可以在其上启用互联网,否则在模拟器上提供虚拟 wifi 的全部意义似乎都是浪费。

我在 mac OS HS 10.13.4 上直接连接到我的路由器,没有代理。

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

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

任何帮助都会有很大帮助

谢谢,维克拉姆

更新:当我通过手机将计算机连接为热点 wifi 时,模拟器通过 wifi 连接互联网,但是当我将计算机连接到家庭路由器时它会失败。

原文由 Vikram Mahishi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.7k
2 个回答

@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,模拟器将拥有互联网。

我正在开发一个 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
   }

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

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

谢谢,维克拉姆

原文由 Vikram Mahishi 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

最终 对我有用的是:

1.关闭所有AVD设备实例

2. 导航至:

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

3.然后输入以下命令:

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

原文由 server_unknown 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题