我正在为Android项目设置CI构建系统,并且无法使用gradle从构建中下载工件。
在第一步中,我使用gradle构建.apk,然后将其作为工件推送到Nexus存储库。这很成功,我可以在我的回购中看到我的apk。
在第二步中,我试图将.apk从存储库中拉下来并将其推送到设备场。 .apk很好地上传到存储库,但我无法弄清楚如何下载它。
理想情况下,在用于上传文件的build.gradle文件中,我有一些gradle任务可以从repo下载文件并允许我操作它。
到目前为止,我已尝试过:
项目应用上的apk解析为APK档案,不支持作为编译依赖。
我相信这是因为我使用了编译命令,因为我正在下载一个.apk,但这并不是你可以做的事情。
但由于原生的.so库,我遇到了在我的机器上运行它的问题。
有没有人知道如何使用gradle从nexus存储库下载.apk?
答案 0 :(得分:0)
我终于找到了一种方法来做我想做的事。在我的app level build.gradle中,我添加了以下内容:
configurations {
drivers
}
dependencies {
drivers (group: 'com.my.groupname', name: 'myAppId', version: '0.0.123-SNAPSHOT', classifier: 'apk', ext: 'apk')
}
task copyDrivers(type: Copy) {
from configurations.drivers
into "/builds/dev/mobile-android-sync/android/app/build"
}
请注意,当我上传我的工件时,我使用了以下代码(我认为这很重要,因为我指定了一个分类器):
artifacts {
archives(apk) {
type = "apk"
classifier = 'apk'
}
archives(testApk) {
type = "apk"
classifier = 'testapk'
}
}