当前位置: 首页 > 面试题库 >

Gradle任务以将android apk发布/上传到Http Server

勾长卿
2023-03-14
问题内容

到目前为止,我们已将Jenkins与Ant结合使用来构建我们的Android APK。使用curl将内置的APK,proguard
mappings.txt和一些发行说明上载到Http Server

curl -k -F "app=@$apk_dir" -F "release_notes=@$release_notes_file" "https://ourserver.com/apps/internal/app/$app_dir/$version"

而app dir是由Android Manifest中的一些参数组装而成的

app_dir="${app_name}-${some_other_manifest_meta_data}"

当我现在开始切换到Gradle时,我想将其移动到gradle构建文件中。我想到了一个依赖于Android插件组装任务的任务,并将组装好的apk,发行说明和proguard文件上传到Http
Server。

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

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

谢谢


问题答案:

端口最直接的方式上传任务摇篮是使用一个Exec任务。

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

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


 类似资料:
  • 我正在尝试使用Gradle的Maven Publish插件上传到Maven Central。我已经完成了用Sonatype创建项目的步骤,并获得了批准。我遵循了Gradle的教程。之后,当我在GitHub上运行我的持续集成操作时,我得到了以下错误。 完全错误:https://github.com/Driftverse/display-api/runs/5444179201?check_suite_

  • 问题内容: 我正在开发一个远程备份应用程序,有时我需要上传大文件,例如15 MB,我已经在某些手机上进行了测试,但遇到内存不足错误 使用此功能是否可以使用更少的内存? 这里的错误日志 修改并添加固定无缓冲区后,出现此错误 我猜这差个字节是标题数据吗?如何获取标头的length()? 问题答案: 您应该使用HttpURLConnection 的or 方法。这将防止您的数据在内存中缓冲并耗尽。 文档中

  • 是否可以仅使用Gradle将文件上传到artiFactory存储库而不使用maven-发布插件? 我只想将任何文件上载到特定的存储库位置。以下是发布片段: 我想要的只是条目将上传到相对存储库路径。 但是自述。txt上传为pluginDescriptor/nip/nip-。txt,其中nip是项目名称。 如果没有组、artifactID和版本,我如何给出一个专用名称? 我可以找到的所有示例都使用ma

  • 我有一个Gradle构建脚本,我试图将Eric Wendelin的CSS插件包含其中。 它很容易实现,因为我只想缩小(而不是合并和gzip),所以我得到了构建脚本的相关部分,如下所示: 这是完美的-当我运行gradle war任务时,它会调用mini fyCss任务,获取源css文件,并在buildDir中创建一个缩小版本 但是,我有一些需要缩小的css文件,但没有组合成一个文件(因此我没有使用组

  • 问题内容: 我需要即时将画布图像数据上传到服务器(数据库),即,我需要创建一个带有input=file的表单,并在没有任何用户交互的情况下发布图像数据。 问题答案: 您不需要文件输入,只需使用Ajax 获取数据并将其发布到服务器即可。 请参阅MDN文档。 但是即使使用,您也无法在IE中获取图像数据。

  • null 当我运行./gradlew artifactoryPublish时,它将记录: 尝试从其他生成加载插件。Gradle: 带设置。分级: 导致此错误: 我希望在运行ArtiFactoryPublish时,将publishToMavenLocal创建的所有工件发布到Artifactory。如果artifactoryPublish是错误的工具,我愿意接受它的替代方法。 如何将Gradle插件发