二.jenkins配合Gradle实现自签名,自定义APK名称

小编 2026-06-30 阅读:1156 评论:0
上一篇文章: 一.jenkins+github+gradle 实现android自动化打包全攻略(MAC版) http://www.jianshu.com/p/9caab25d2cf1 上次已经实现自动打包,那么如何进行APK自定义包...

上一篇文章: 一.jenkins+github+gradle 实现android自动化打包全攻略(MAC版) http://www.jianshu.com/p/9caab25d2cf1 上次已经实现自动打包,那么如何进行APK自定义包名呢?如何进行自签名呢? 主要通过设置项目的build.gradle

Paste_Image.png

一.自定义APK的名称

比如格式为:时间项目名称版本号.apk

Paste_Image.png

applicationVariants.all { variant -> 
if (variant.buildType.name.equals('release')) { 
variant.outputs.each { output -> def outputFile = output.outputFile 
if (outputFile != null && outputFile.name.endsWith('.apk')) { 
def fileName = "${releaseTime()}_com.andli.myproject_${defaultConfig.versionName}.apk" 
output.outputFile = new File(outputFile.parent, fileName) 
} 
} 
}
}
def releaseTime() { 
return new Date().format("yyyyMMdd", TimeZone.getTimeZone("UTC"))
}

还可以自定义APK的输出路径:比如导出到下载目录 output.outputFile = new File("/Users/XXX/Downloads", fileName)

二.自定义签名

Paste_Image.png

signingConfigs {//签名的配置 
release { 
storeFile file("签名文件名称.jks") 
storePassword '密码' 
keyAlias '签名文件别名' 
keyPassword '密码' 
} 
}
signingConfig signingConfigs.release//打包命令行:gradlew assembleRelease
lintOptions {//设置编译的lint开关,程序在buid的时候,会执行lint检查,有任何的错误或者警告提示,都会终止构建 
abortOnError false 
}

打包后的效果:

Paste_Image.png

待解决的问题

APK名称带时分秒,但是时与北京时间相差8小时

Paste_Image.png

解决办法:获取重庆时间

 new Date().format("yyyyMMdd HH:mm:ss", TimeZone.getTimeZone("Asia/Chongqing"))

Paste_Image.png

参考文章: http://www.jianshu.com/p/83a99e26826c

image

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表