apk签名文件生成

时间:2024-03-18 09:33:04

一、生成签名文件

命令:

keytool -genkey -v -keystore 签名文件名称.keystore -alias 签名文件别名 -keyalg RSA -keysize 2048 -validity 20000

例如:
keytool -genkey -v -keystore release-key.keystore -alias als-key -keyalg RSA -keysize 2048 -validity 20000
-keystore release-key.keystore       在当前目录下创建release-key.keystore签名文件
-alias als-key                       文件别名为als-key,不配置则默认为mykey
-keyalg RSA -keysize 2048            采用的RSA算法生成2048位RSA密钥和签名证书
-validity 20000                      证书的有效期是20000天

创建过程如图

 

 

二、使用签名文件签名

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore 签名文件所在目录 apk文件所在目录 签名文件别名

注意文件存放路径的书写,不同工具路径书写方式不同 

如果使用git工具Git Bash运行命令

$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore release-key.keystore /d/CordovaProjectIALP/platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk ialp-key

如果使用Windows自带的命名工具

 

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore release-key.keystore D:\CordovaProjectIALP\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk ialp-key

签名的时候要求输入密钥库的密码

 

当然如果将签名文件拷贝到apk所在目录下,就没有路径问题

进入文件所在目录

$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore release-key.keystore app-release-unsigned.apk ialp-key

Git Bash也可以配置快捷命令对apk进行签名

修改配置文件,添加快捷命令

$ vim ~/.bashrc
# 文件中添加以下命令
alias sign-ialp="jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore /d/CordovaProjectIALP/release-key.keystore /d/CordovaProjectIALP/platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk ialp-key"
# 使配置文件立即生效
$ source ~/.bashrc
# 运行以下快捷命令即可对apk文件进行签名
$ sign-ialp

 三、查看签名文件信息

命令:

keytool -list -v -keystore [签名文件]
$ keytool -list -v -keystore release-key.keystore