Android Studio如何配置CURL指令一键打包apk上传至蒲公英
Android Studio如何配置CURL指令一键打包apk上传至蒲公英
第一步:在所需要打包的模块build.gradle文件中加入如下代码:
android{
buildTypes {
//配置apk名称
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = getApkName()
}
}
}
}
android{ } //------------以下代码用于配置一键上传蒲公英----------------
//获取apk路径
def getApkFullPath() {
return rootDir.getAbsolutePath() + "/app/build/outputs/apk/release/" + getApkName()
} //此处可修改所打包的apk文件名
def getApkName() {
return "update-app-example-v${android.defaultConfig.versionName}-${releaseTime()}.apk"
} //设定添加打包时间
static def releaseTime() {
return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))
} //将密钥存在本地 防止泄露 local.properties 在Git的时候不会被上传
def readProperties(key) {
File file = rootProject.file('local.properties')
if (file.exists()) {
InputStream inputStream = rootProject.file('local.properties').newDataInputStream()
Properties properties = new Properties()
properties.load(inputStream) if (properties.containsKey(key)) {
return properties.getProperty(key)
}
} } //描述log
static def getUpdateDescription() {
return '1.修复一些bug;\n2.提升用户体验!'
}
//执行打包上传任务
task("uploadApk") {
doLast {
def command = "curl -F \"file=@${getApkFullPath()}\" -F \"uKey=${readProperties('pgyer.userKey')}\" -F \"_api_key=${readProperties('pgyer.apiKey')}\" -F \"buildUpdateDescription=${getUpdateDescription()}\" https://www.pgyer.com/apiv2/app/upload"
try {
exec {
ExecSpec execSpec ->
executable 'curl'
args = ['-F', "file=@${getApkFullPath()}", '-F', "uKey=${readProperties('pgyer.userKey')}", '-F', "_api_key=${readProperties('pgyer.apiKey')}", '-F', "buildUpdateDescription=${getUpdateDescription()}", "${readProperties('pgyer.uploadurl')}"]
}
println "uploadApk success~"
} catch (Exception e) {
e.printStackTrace()
}
}
} uploadApk.dependsOn("assembleRelease")
第二步:在项目根目录下local.properties文件中配置如下代码:
#蒲公英配置 apiKey和userKey替换成自己的就行
pgyer.apiKey=711ea731f7e59d20a6279a884a2c76f8
pgyer.userKey=61fedceea73bac2bdda4ac76kl8dbcac0
pgyer.uploadurl=https://www.pgyer.com/apiv2/app/upload
- 最后:一键上传即可,如图

- 小结:以上是基本配置,如果嫌麻烦可以直接下载Studio插件 ,在Plugin页面之间搜索pgy即可
关于我
微信公众号:infree6 或者直接扫码

Android Studio如何配置CURL指令一键打包apk上传至蒲公英的更多相关文章
- Android Studio(十一):代码混淆及打包apk
Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...
- jenkins 之 iOS 打包及上传至蒲公英
准备条件 iMAC(要 Mac OS 系统,安卓 和 苹果 可以在同一台电脑上打包) xcode 最新版,要已安装对应的开发证书(生成一个 Ad-Hoc 类型的包就有了) brew(当前管理员账户安装 ...
- jenkins 之 Android 打包及上传至蒲公英
准备条件 iMAC,非必须(如果是 安卓 和 苹果 可以在同一台电脑上打包则要 Mac OS 系统的电脑,如果是只是给安卓打包 windows 电脑也是可以的, window 下 需要把 ls 换成 ...
- [iOS开发] 使用Jenkins自动打包并上传至蒲公英
设置构建触发器 Poll SCM H/2 * * * * 设置 构建脚本 # #xodebuild & jenkins 自动构建并上传至pgyer.com #2017年5月9日 # #定义一些 ...
- [转]Android Studio系列教程六--Gradle多渠道打包
转自:http://www.stormzhang.com/devtools/2015/01/15/android-studio-tutorial6/ Android Studio系列教程六--Grad ...
- Android Studio系列教程六--Gradle多渠道打包
Android Studio系列教程六--Gradle多渠道打包 2015 年 01 月 15 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://stormzh ...
- Android Studio环境下代码混淆+签名打包
Android Studio环境下代码混淆+签名打包 作者 Mr_冯先生 关注 2016.08.21 01:10 字数 1040 阅读 734评论 5喜欢 34 注:本文使用的Android Stud ...
- android studio+grade配置构建
Android 构建系统编译应用资源和源代码,然后将它们打包成可供您测试.部署.签署和分发的 APK.android Studio 使用 Gradle 这一高级构建工具包来自动化执行和管理构建流程,同 ...
- Android studio gradle配置完整版(转)
Android studio gradle配置完整版https://my.oschina.net/u/1471093/blog/539075 Android studio 自定义打包apk名 - pe ...
随机推荐
- mysql的MHA高可用
一.MHA简介 作者简介 松信嘉範: MySQL/Linux专家 2001年索尼公司入职 2001年开始使用oracle 2004年开始使用MySQL 2006年9月-2010年8月MySQL从事顾问 ...
- CentOS 7上的进程管理
一些杂乱的基础概念 程序是一种静态的文件,躺在磁盘上.而进程则是将程序运行起来放置于内存中.因此进程就是运行中的程序,是程序运行起来的一个实例.同一个程序可以运行为多个进程/实例. 进程之间有父子关系 ...
- BASH Shell 文件管理
BASH Shell 对文件进行管理 ========================================================创建.复制.删除.移动.查看.编辑.压缩.查找 内 ...
- php有必要用swoole吗
在 Swoole 官网的自我介绍是“面向生产环境的 PHP 异步网络通信引擎”,首先 Swoole 它是一个网络应用的开发工具,它支持 Http.TCP.UDP.WebSocket. Swoole 和 ...
- 记druid 在配置中心下的一个大坑: cpu 达到 100%
把我们的dubbo 应用移步到配置中心上去之后,发现我们的应用过一段时间就会出现cpu 100%的情况 (大概是12个小时),一开始cpu占用是2-5% 的样子,什么都没做,后面竟然用尽了cpu.. ...
- SpringCloudConfig对称加密 yml配置文件while parsing a block mapping
错误的配置!!! #-----------------db------------------ mybatis: type-aliases-package: com.book.product.pojo ...
- 12-Factor与微服务
为了构建分布式微服务程序,能够部署到所有云服务,Heroku工程师总结所有云原生应用程序的12要素: 1.基准代码 Single codebase: The application mu ...
- docker可视化工具Portainer部署与汉化
为了更好的观察Docker运行状态,我们采用Portainer工具进行可视化,下面是部署过程总结: 环境: Liunx:CentOS Linux release 7.6.1810 (Core) Doc ...
- vue项目、路由
目录 Vue项目创建 pycharm配置并启动vue项目 vue项目目录结构分析 js原型补充 vue项目生命周期 页面组件 配置自定义全局样式 路由逻辑跳转 路由重定向 组件的生命周期钩子 路由传参 ...
- JS原型链与instanceof底层原理
一.问题: instanceof 可以判断一个引用是否属于某构造函数: 另外,还可以在继承关系中用来判断一个实例是否属于它的父类型. 老师说:instanceof的判断逻辑是: 从当前引用的proto ...