我正在使用 Gradle v5.4 和 Android Gradle Plugin v3.5.2 ,并且没有问题!
我有一个远程Artifactory存储库,可以在其中上传项目中所需的.aar
个文件。
当我更新到 Gradle v6.5 和 Android Gradle Plugin v4.0.1 时,这些.aar
文件不再下载。
这是我添加这些依赖项的方式:
implementation "ar.com.sebasira:some-library:1.0.0@aar"
在升级之前,它工作得很好。
在日志中,我可以看到AndroidStudio在此位置查找它:
https://myrepo.com.ar/ar/com/sebasira/some-library/1.0.0/some-library-1.0.0.pom
如果将URL放在浏览器中,确实找不到任何东西,但是如果将最后一部分(扩展名)更改为.aar
,则可以下载工件。
我认为添加 @aar 是为了指示Gradle查找.aar
文件,但似乎不起作用。
我也尝试以其他方式添加依赖项,但是没有运气。
implementation group: 'ar.com.sebasira', name: 'some-library', version: '1.0.0', ext: 'aar'
答案 0 :(得分:0)
我发现,自 Gradle v6.0 起,Gradle假设远程存储库中不存在.pom
文件是因为该工件不存在,因此默认情况下不查找它。根据{{3}}:
如果Gradle无法在
.pom
部分中定义的存储库中找到模块的元数据文件(ivy.xml
或repositories { }
),则现在假定该模块不存在于该存储库。...
您可以通过添加
artifact()
元数据源来选择选定存储库的旧行为。
所以解决方案是将其添加到有问题的存储库中,如下所示:
repositories {
maven {
url 'the-repo-url'
metadataSources {
artifact()
}
}
}