我已经浪费了一整天的时间在某处和其他提到的地方try 不同的解决方案,以便在android模拟器上启用wifi,但没有效果.

我有Nexus 5X API 27,目标是安卓8.1(谷歌游戏)

我认为应该有一种方法可以在模拟器上启用互联网,否则在模拟器上提供虚拟wifi的整个意义似乎都是浪费.

我使用mac OS HS 10.13.4,直接连接到我的路由,没有代理.

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

似乎什么都没用.有人面对过这个问题并找到了解决方案吗?

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

谢谢

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

推荐答案

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

所以诀窍在于,在默认路由设置之后,在网络设置中配置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
   }

因此,我从一个终端启动我 Select 的模拟器,然后在另一个终端上运行构建,该终端在启动的模拟器上运行我的应用程序,我那该死的模拟器可以访问互联网.:)

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

谢谢, 维克拉姆

Android相关问答推荐

列表的可变状态未正确更新

CameraX与jetpack组成屏幕逻辑

Android意图过滤器不限制应用程序仅处理YouTube链接

在Android上使用XSLT文件转换XML文件

约束布局:垂直链中的视图应将内容包裹到空间的1/3

Kotlin为多个控件设置一个侦听器

如何将 Room Persistence 依赖项正确添加到我的 Jetack Compose Android 应用程序

Camera2 将图像从 ImageReader 传递到 MediaRecorder

警告:应用必须面向 Android 13(API 级别 33)或更高版本.确实如此

在java android studio项目上安装mapbox

kotlin中&&和and的区别

Jetpack Compose 中带有权重的行和 AnimatedVisibility 会 destruct UI

在 Jetpack Compose 中使用 ViewModel 实现 startActivity 的最佳实践

如果 auth 失败,如何显示 toast jetpack compose firebase if else @Composable 调用只能在 @Composable 函数的上下文中发生

如何在 JetpackCompose 的 LazyColumn 中 Select 多个项目

在事件中使用 Context/Toast 时不需要的重组 - Jetpack Compose

Jetpack Compose 动画性能问题

JetPack Compose - 卡片行中的权重()不起作用

插入查询室 OnConflictStrategy.REPLACE

未解决的参考:getIntentSender / try 在 Jetpack Compose 中获取电话号码时