我正在尝试通过mylibrary.aar
从gitlab
存储库下载依赖库gradle
。我知道我们在gradle中没有任何闭包/方法可以直接从http
网址获取文件。
因此我正在使用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文件夹中引用它,它就可以正常工作。
aar
之外,还有其他方法可以从gitlab服务器下载ant.get
文件吗?非常感谢任何帮助。
注意:我不能使用本地构建的依赖,因为我的所有库都在不同的repo上,并且项目要求要求相同。此外,代码无法在github中发布,这就是我没有选择jitpack
的原因
jar
文件也会出现同样的问题。
答案 0 :(得分:0)
就像这个例子一样:
poll()
答案 1 :(得分:0)
我认为我没有直接解决问题的方法,因为"Command failed with error 28646: '$filter only supports an object as its argument'. The full response is { \"ok\" : 0.0, \"errmsg\" : \"$filter only supports an object as its argument\", \"code\" : 28646 }"
没有api。相反,我所做的是,使用gradle
jfrog
创建了我自己的maven存储库,并在那里托管了库,以便所有开发人员可以从内部工件中引用库。
可以从here
下载神器OSS版本我之所以选择artifactory
是因为它更简单,并且拥有出色的用户界面。最重要的是,它不需要为此目的设置单独的artifactory
存储库,因为代码无法在组织外部共享。
设置完成后,可以按如下方式访问您的库。
http://localhost:8081/artifactory
提供了设置工件的简要说明here
在您的github
中托管库后,您可以找到网络中的任何位置,您或组织中的任何其他开发人员都可以使用Android中的maven依赖管理器访问您的库。
我希望这会有所帮助。