繁体   English   中英

如何通过gradle从私有gitlab repo下载aar文件

[英]How to download a aar file from a private gitlab repo via gradle

我想下载一个扶养库mylibrary.aar从我gitlab通过库gradle 我知道我们在gradle中没有任何闭包/方法来直接从http url获取文件。

因此我使用ant的getmethod从gitlab下载库。

这是我在gradle文件中使用的代码来获取库。

task downloadlib {

ant.get(src: 'https://my-git-link/mylibrary.aar', dest: 'libs', verbose: 'on')

}

dependencies {

compile(name: 'mylibrary', ext: 'aar')

}

问题:

我通过ant的get方法下载的文件似乎已损坏/未正确完成下载过程。 不确定出了什么问题。 库未编译,无法解析依赖项。 当我尝试提取aar它再次提取到我的mac中的cgpz文件。虽然我还没在Windows中尝试过。

但是,如果我手动下载相同的aar文件并在libs文件夹中引用它,它可以正常工作。

  1. 知道为什么会这样吗?
  2. 除了ant.get之外,还有其他方法可以从gitlab服务器下载aar文件吗?

对此有任何帮助非常感谢。

注意:我不能使用本地构建的依赖,因为我的所有库都在不同的repo上,并且项目要求要求相同。而且,代码无法在github中发布,这就是我没有选择jitpack的原因

jar文件也会出现同样的问题。

这样做是这样的:

implementation 'com.quickblox:quickblox-android-sdk-core:2.5.2@aar'
implementation('com.quickblox:quickblox-android-sdk-chat:2.5.2@aar') {
    transitive = true
    }

我不认为我有这个问题的直接解决方案,因为gradle没有这个api。 相反,我所做的是,使用jfrogartifactory创建了我自己的maven存储库,并在那里托管了库,以便所有开发人员可以从内部工件中引用库。

可以从这里下载神器OSS版本

我选择了artifactory因为它更简单,并且具有很棒的UI。 最重要的是,它不需要为此目的设置单独的github存储库,因为代码无法在组织外部共享。

设置完成后,可以按如下方式访问您的库。

http:// localhost:8081 / artifactory

这里提供了设置工件的简要说明

将库托管在可以位于网络中任何位置的artifactory中之后,您或组织中的任何其他开发人员都可以使用android中的maven依赖管理器访问您的库。

我希望这有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM