[英]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文件夹中引用它,它可以正常工作。
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。 相反,我所做的是,使用jfrog
的artifactory
创建了我自己的maven存储库,并在那里托管了库,以便所有开发人员可以从内部工件中引用库。
可以从这里下载神器OSS版本
我选择了artifactory
因为它更简单,并且具有很棒的UI。 最重要的是,它不需要为此目的设置单独的github
存储库,因为代码无法在组织外部共享。
设置完成后,可以按如下方式访问您的库。
http:// localhost:8081 / artifactory 。
这里提供了设置工件的简要说明
将库托管在可以位于网络中任何位置的artifactory
中之后,您或组织中的任何其他开发人员都可以使用android中的maven依赖管理器访问您的库。
我希望这有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.