您的位置:首页 > 移动开发 > Android开发

android使用gradle打包带签名的apk包

2015-10-16 16:51 483 查看

签名对apk的重要性不言而喻, 下面总结一下apk打包签名的具体方法

1-生成签名文件

如果想要打带签名的包, 我们必须有一个签名文件.

windown+r ->cmd 进入命令行, 进入到本机jdk安装目录 *\jdk\jre\bin

运行命令

keytool -genkey -alias [mykey] -keyalg RSA -validity 999999-keystore [demo.keystore]

参数解释:

alias : 签名的别名, 一个签名文件可以有多个别名, 可以分别对应多个apk;换句话说, 如果一个公司有多个完全可以使用同一个签名文件, 在这个签名文件中添加多个别名


validity: 签名有效期 999999天, 对于一个app来说, 二千多年完全足够了


keystore 生成的文件名


但是, 我们经常会遇到文件权限和路径问题导致无法生成签名文件,报错

输入 <mykey> 的密钥口令
(如果和密钥库口令相同, 按回车):
keytool 错误: java.io.FileNotFoundException: demo.keystore (拒绝访问。)


简单粗暴的解决方法就是指定签名文件生成的路径,修改一下命令

keytool -genkey -v -keystore /D:\key/myKS.keystore -alias demo -keyalg RSA -validity 20000

对比两条命令很明显的看到区别了!

2-配置build.gradle脚本

gradle这么好的构建工具作为一个android程序员如果你没有使用真是太遗憾了.

直接上脚本

android{
signingConfigs {
release {
storeFile 'D:\\key\\myKS.keystore'
storePassword '123456'
keyAlias 'demo'
keyPassword 'password'
}
}
buildTypes {        //设置debug release等信息
debug{
//debug模式
buildConfigField "boolean", "LOG_DEBUG", "true"     //显示log
}
release {
signingConfig signingConfigs.release
minifyEnabled false     //是否进行混淆
//混淆文件的位置
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}


最后, 运行gradle build命令, 带签名的apk包就成功的生成在/project/build/output/apk/目录中

欢迎访问 我的github 我的邮箱guohao_pq@163.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android