我正在为一个 android 项目设置一个 CI 构建系统,并且无法使用 gradle 从构建中下载工件。
在第一步中,我使用 gradle 构建一个 .apk,然后将其作为工件推送到 Nexus 存储库。这成功了,我可以在我的仓库中看到我的 apk。
在第二步中,我尝试从存储库中拉下 .apk 并将其推送到设备场。 .apk 上传到存储库就好了,但我不知道如何让 gradle 下载它。
理想情况下,在用于上传文件的同一个 build.gradle 文件中,我会有某种 gradle 任务,可以从 repo 下载文件并允许我对其进行操作。
到目前为止,我已经尝试过:
apk on project app resolves to an APK archive which is not supported as a compilation dependency.
我相信这是因为我正在使用 compile 命令,并且因为我正在下载一个 .apk,这并不是你可以对它做的事情。
但是由于 native .so 库,我在我的机器上运行它时遇到了问题。
有谁知道如何使用 gradle 从 nexus 存储库下载 .apk?
最佳答案
我终于找到了一种方法来做我想做的事。在我的应用程序级别 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'
}
}
关于android - 使用 gradle 从存储库下载 apk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39235420/