2017-09-10 41 views
3

所以当我试图更新我的build.gradle依赖关系时,我发现自己在挠挠头。 com.android.support:appcompat库版本26.0.2未解决。经过一番搜索之后,我得知我必须将Google的Maven存储库添加到我的项目gradle文件中的存储库列表中。所以现在列出了Google的maven仓库和jcenter()。为什么Google Maven存储库存在,我应该在什么时候使用它?

那么,为什么谷歌现在托管自己的Maven仓库,有什么理由不使用它?奇怪的是,图书馆在两个地方都有不同的版本。

+0

有什么问题?存在许多不同的存储库,只需使用您需要的存储库。它对你的应用没有任何影响 –

+0

这是一个“问题”,因为它很混乱。由Android Studio生成的模板项目没有添加谷歌的Maven仓库,因此我想知道为什么我不能使用定位API 26所需的appcompat库。但是我明白你的观点。 – ardevd

回答

3

建立一个Android应用程序时,有在玩几个仓库:

  • jcenter()用于开源库众多,包括Android插件摇篮。

  • google()(又名,maven.google.com)用于支持库,架构组件等。对于支持库,您需要使用此存储库来获取26.0.0及更高版本。

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

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

其奇怪的是,库托管在不同版本的两个地方。

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

我还不确定Play Manager依赖关系安装的SDK库管理器的Google Repository是否被maven.google.com所取代。

为什么谷歌现在托管自己的Maven仓库

你必须要问谷歌。对于简单的构建,Android Repository是可以的,但在更复杂的场景中(例如,在无头CI服务器上构建)会变得非常痛苦。使用普通的托管Maven仓库应该简化这些事情。

由Android Studio生成的模板项目didnt

您使用的是Android 2.3.3工作室或以上的加谷歌的Maven仓库。 Android Studio 3.0及更高版本的模板将为您添加google()

相关问题