为什么Google maven存储库存在,何时应该使用它?

时间:2017-09-10 21:43:04

标签: android maven android-studio dependencies

所以当我尝试更新build.gradle依赖项时,我发现自己在挠头。 com.android.support:appcompat库版本26.0.2没有解决。经过一些搜索后,我了解到我必须将Google的maven存储库添加到项目gradle文件中的存储库列表中。所以现在列出了Google的maven存储库和jcenter()。

那么为什么Google现在托管他们自己的maven存储库并且有什么理由不使用它?奇怪的是,两个库都托管在不同版本的地方。

1 个答案:

答案 0 :(得分:8)

构建Android应用时,有几个存储库正在运行:

  • jcenter()用于众多开源库,包括适用于Gradle的Android插件。

  • google()(a.k.a。,maven.google.com)用于支持库,架构组件等。对于支持库,您需要将此存储库用于26.0.0及更高版本。

  • SDK管理器安装在您的硬盘驱动器上的Android存储库用于引入maven.google.com之前的支持库。

  • 许多其他托管存储库(jitpack.io,我的CWAC存储库等)。

  

奇怪的是,两个版本的库都托管了不同的版本。

我不知道maven.google.com是否也支持Android Repository中的库版本。否则,粗略地说,maven.google.com是Android Repository的新托管版本,适用于未来版本库的新版本。

我还不确定SDK管理器为Play服务依赖项安装的Google Repository是否被maven.google.com取代。

  

为什么Google现在托管他们自己的maven存储库

你必须问谷歌。 Android Repository适用于简单构建,但在更复杂的场景中却很难(例如,在无头CI服务器上构建)。使用普通的托管Maven存储库可以简化这些操作。

  

Android Studio生成的模板项目没有添加Google的maven存储库

您使用的是Android Studio 2.3.3或更早版本。 Android Studio 3.0及更高版本的模板将为您添加google()