Gradle 发布/上传 android apk 到 Http 服务器的任务

Gradle task to publish / upload android apk to Http Server

到目前为止,我们使用 Jenkins 和 Ant 来构建我们的 Android APK。使用 curl

将构建的 APK、proguard mappings.txt 和一些发行说明上传到 Http 服务器
curl -k -F "app=@$apk_dir" -F "release_notes=@$release_notes_file" "https://ourserver.com/apps/internal/app/$app_dir/$version"

而应用程序目录由 Android Manifest

中的一些参数 assembled
app_dir="${app_name}-${some_other_manifest_meta_data}"

因为我现在开始切换到 Gradle,所以我想将其移至 gradle 构建文件。 我想到了一个依赖 Android 插件 assemble 任务的任务,并将 assembled apk、发行说明和 proguard 文件上传到 Http 服务器上。

不幸的是,官方 Gradle 文档和大多数链接只描述了如何上传到 Maven 或 Ivy 服务器。

如果有人可以向我提供代码或至少提示如何执行此操作,那就太好了。

谢谢

将上传任务移植到 Gradle 的最直接方法是使用 an Exec task.

您的任务最终可能看起来像这样:

task upload(type:Exec) {
    executable "/bin/sh"
    args "-c", "curl -k -F [...]"
  }
}