gpt4 book ai didi

android - 使用 gradle 从存储库下载 apk

转载 作者:行者123 更新时间:2023-12-03 06:05:15 24 4
gpt4 key购买 nike

我正在为一个 android 项目设置一个 CI 构建系统,并且无法使用 gradle 从构建中下载工件。

在第一步中,我使用 gradle 构建一个 .apk,然后将其作为工件推送到 Nexus 存储库。这成功了,我可以在我的仓库中看到我的 apk。

在第二步中,我尝试从存储库中拉下 .apk 并将其推送到设备场。 .apk 上传到存储库就好了,但我不知道如何让 gradle 下载它。

理想情况下,在用于上传文件的同一个 build.gradle 文件中,我会有某种 gradle 任务,可以从 repo 下载文件并允许我对其进行操作。

到目前为止,我已经尝试过:

  • 将文件指定为依赖项。我在其中添加了带有 compile(group, name, version, classifier, apk) 的依赖项闭包。当我运行它时,似乎 gradle 可以找到该文件,但是我收到此错误

  • apk on project app resolves to an APK archive which is not supported as a compilation dependency.



    我相信这是因为我正在使用 compile 命令,并且因为我正在下载一个 .apk,这并不是你可以对它做的事情。
  • 我试图使用这个库

  • https://github.com/michel-kraemer/gradle-download-task



    但是由于 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/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com