【问题标题】:Android Gradle not finding remote AARAndroid Gradle 找不到远程 AAR
【发布时间】:2020-10-17 13:47:45
【问题描述】:

我正在使用 Gradle v5.4Android Gradle Plugin v3.5.2,没有任何问题!

我有一个远程 Artifactory 存储库,我可以在其中上传项目所需的 .aar 文件。

当我更新到 Gradle v6.5Android 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'

【问题讨论】:

    标签: android gradle aar


    【解决方案1】:

    我发现,从 Gradle v6.0 开始,Gradle 假设如果远程存储库中不存在 .pom 文件是因为工件不存在,所以它不存在默认情况下寻找它。根据release notes

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

    ...

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-27
      • 2015-02-24
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多