一、生成签名文件
命令:
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