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

来源:互联网 发布:凡科 知乎 编辑:程序博客网 时间:2024/05/22 12:00

签名对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

0 0
原创粉丝点击