没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
3页
前言 如果你是使用android studio编译项目的化,在编译apk只会会自动给apk签名。 但默认配置下jenkins下编译出的apk是unsign的。需要一些额外的设置才能自动sign。 这个功能需要我们修改下build.gradle配置文件,让gradle在编译之后执行签名。 当然你也可以在这里做一些其他的修改,比如修改编译出的apk的名字,让他加个当前时间的时间戳,编译类型的后缀什么的,方便识别。 1.生成的apk名加上当前时间 + 修改apk的发布路径 在build.gradle配置文件下的android配置段下的buildTypes下找到你的编译配置项一般就是releas
资源详情
资源评论
资源推荐
Jenkins打包打包android应用时自动签名应用时自动签名apk详解详解
前言前言
如果你是使用android studio编译项目的化,在编译apk只会会自动给apk签名。
但默认配置下jenkins下编译出的apk是unsign的。需要一些额外的设置才能自动sign。
这个功能需要我们修改下build.gradle配置文件,让gradle在编译之后执行签名。
当然你也可以在这里做一些其他的修改,比如修改编译出的apk的名字,让他加个当前时间的时间戳,编译类型的后缀什么
的,方便识别。
1.生成的生成的apk名加上当前时间名加上当前时间 + 修改修改apk的发布路径的发布路径
在build.gradle配置文件下的android配置段下的buildTypes下找到你的编译配置项一般就是release
在release段下面加上如下代码
applicationVariants.all { variant ->
if (variant.buildType.name.equals('release')) { //如果是release版本
variant.outputs.each { output -> def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) { //查找所有的apk
def fileName = "${releaseTime()}_XXXXPorject_${defaultConfig.versionName}.apk" //重新定义apk的名称
output.outputFile = new File(outputFile.parent, fileName) //outputFile.parent参数可以改成你你想要的发布路径
}
}
}
}
然后在build.gradle配置文件的末尾加上一个方法用来获取当前时间
def releaseTime() {
// return new Date().format("yyyyMMdd", TimeZone.getTimeZone("UTC")) //年月日
return new Date().format("yyyyMMdd HH-mm-ss", TimeZone.getTimeZone("GMT+8:00")) //年月日时分秒
}
2.实现自动化签名实现自动化签名 别忘了别忘了jks文件也要放项目里文件也要放项目里
build.gradle的android段添加如下配置段 定义签名key
signingConfigs {//签名的配置
release {
storeFile file("签名.jks")
storePassword '密码'
keyAlias '别名'
keyPassword '密码'
}
}
在android配置段下的buildTypes段的release段下添加一行 表示调用上面的签名配置
注意修改apk的名字后在android studio是无法开启调试模式,提示找不到apk
signingConfig signingConfigs.release
效果图效果图
第一个是debug版本
第二个是没签名的release版本
第三个是签名后还改了名字的release版本
如果想编译某个版本的话 需要修改下执行gradle的命令行参数
weixin_38666230
- 粉丝: 6
- 资源: 961
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0