所以当我尝试更新build.gradle依赖项时,我发现自己在挠头。 com.android.support:appcompat库版本26.0.2没有解决。经过一些搜索后,我了解到我必须将Google的maven存储库添加到项目gradle文件中的存储库列表中。所以现在列出了Google的maven存储库和jcenter()。
那么为什么Google现在托管他们自己的maven存储库并且有什么理由不使用它?奇怪的是,两个库都托管在不同版本的地方。
答案 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()
。