一、创建证书
(新手小白,如有不对的地方请指出或私信,勿喷,谢谢)
首选需要安装jdk环境(这里默认已安装)
因为Android的数字证书keystore文件的生成是用了Java的数据证书管理工具Keytool。
确保配置好Java的环境后,使用Windows快捷键Win+R,调出“命令提示符”窗口,在窗口中输入cmd,打开命令行输入如下命令
keytool -genkey -alias android.keystore -keyalg RSA -validity 36500 -keystore android.keystore
(意思是:创建了一个名为android.keystore的别名也为android.keystore的采用RSA加密算法的有效期为100年的证书文件)
注:
-genkey 生成文件。
-alias 别名。
-keyalg 加密算法。
-validity 有效期。
-keystore 文件名。
注意:密钥库口令一定要记住,以后还会用到。
当输入"y"后没有回提示输入“输入<android.keystore>的密钥口令”,如果跟密钥库口令一样就按回车键,否则输入,然后再确认,就生成了数字证书,如下图所示
二、APP加固后更新签名
Windows快捷键Win+R,调出“命令提示符”窗口,在窗口中输入cmd,打开命令行输入如下命令
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore [keystore文件路径] -storepass [keystore文件密码] [待签名apk路径] [keystore文件别名]
注意: [] 内的信息为自己证书和待签名apk信息 , 此处 [] 不要添加上去
输入自己的信息后如下
OK,重新签名完成! (如果安装APP失败,可以在上文橘色命令上加 " -digestalg SHA1 -sigalg MD5withRSA ",没有错误请忽略 )
若出现
警告:
未提供 -tsa 或 -tsacert, 此 jar 没有时间戳。如果没有时间戳, 则在签名者证书的到期
日期 (20**-**-**) 或以后的任何撤销日期之后, 用户可能无法验证此 jar。
有这个警告的话本身对签名没有影响,但是总感觉怪怪的,要想去掉这个警告只要在上文橘色命令上再加上 -tsa https://timestamp.geotrust.com/tsa 就可以了