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

笪健
2023-12-01

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

 类似资料: