Android Gradle找不到远程AAR

时间:2020-10-17 13:47:45

标签: android gradle aar

我正在使用 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'

1 个答案:

答案 0 :(得分:0)

我发现,自 Gradle v6.0 起,Gradle假设远程存储库中不存在.pom文件是因为该工件不存在,因此默认情况下不查找它。根据{{​​3}}:

如果Gradle无法在.pom部分中定义的存储库中找到模块的元数据文件(ivy.xmlrepositories { }),则现在假定该模块不存在于该存储库。

...

您可以通过添加artifact()元数据源来选择选定存储库的旧行为。

所以解决方案是将其添加到有问题的存储库中,如下所示:

repositories {
    maven {
        url 'the-repo-url'
        metadataSources {
            artifact()
        }
    }
}