@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 的模拟器,然后在另一个终端上运行构建,该终端在启动的模拟器上运行我的应用程序,我那该死的模拟器可以访问互联网.:)
试试这个,我希望这会有帮助.
谢谢,
维克拉姆