首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >二.jenkins配合Gradle实现自签名,自定义APK名称

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

作者头像
专注APP开发
发布2019-11-07 11:56:35
发布2019-11-07 11:56:35
8330
举报
文章被收录于专栏:移动大前端移动大前端

上一篇文章:

一.jenkins+github+gradle 实现android自动化打包全攻略(MAC版)

http://www.jianshu.com/p/9caab25d2cf1

上次已经实现自动打包,那么如何进行APK自定义包名呢?如何进行自签名呢?

主要通过设置项目的build.gradle

Paste_Image.png

一.自定义APK的名称

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

Paste_Image.png

代码语言:javascript
复制
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) 
} 
} 
}
}
代码语言:javascript
复制
def releaseTime() { 
return new Date().format("yyyyMMdd", TimeZone.getTimeZone("UTC"))
}

还可以自定义APK的输出路径:比如导出到下载目录

output.outputFile = new File("/Users/XXX/Downloads", fileName)

二.自定义签名

Paste_Image.png

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

打包后的效果:

Paste_Image.png

待解决的问题

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

Paste_Image.png

解决办法:获取重庆时间

代码语言:javascript
复制
 new Date().format("yyyyMMdd HH:mm:ss", TimeZone.getTimeZone("Asia/Chongqing"))

Paste_Image.png

参考文章:

http://www.jianshu.com/p/83a99e26826c

image

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.自定义APK的名称
  • 二.自定义签名
  • 待解决的问题
    • 解决办法:获取重庆时间
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档