生成证书和签名相关命令:
keytool -genkey -v -keystore hzc.keystore -alias hzc -keyalg RSA -keysize 2048 -validity 20000生成证书(官方版,多了一个参数)
keytool -genkey -alias hzc -keyalg RSA -validity 20000 –keystore hzc.keystore生成证书(推荐使用)
jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore hzc.keystore -signedjar hzc_signed.apk hzc_unsigned.apk hzc
签名,推荐使用(注意:1.如果是先解压缩apk,再次压缩时不要压缩文件夹,直接全选里面的内容压缩 2. -sigalg MD5withRSA -digestalg SHA1这两个顺序不可颠倒,否则会报错)
jarsigner -verify -verbose hzc_signed.apk
验证签名是否成功(成功提示:jar已验证)
./zipalign -v 4 hzc_signed.apk hzc-release.apk
签名后优化(找到zipalign位置,拷贝到当前操作的文件夹)
签名也可以用:jarsigner -verbose -keystore hzc.keystore -signedjar hzc_signed.apk hzc_unsigned.apk hzc
(据说jdk1.7不可用)
以上参数解释:
-keystore hzc.keystore:(要)生成的证书
-alias hzc:证书别名
-keyalg RSA:证书算法
-validity 20000:证书有效期限
-verbose:输出日志
-sigalg MD5withRSA -digestalg SHA1:签名算法,顺序不可颠倒
-signedjar hzc_signed.apk:签名后的apk
hzc_unsigned.apk:签名前的apk,可以是zip
hzc:证书别名
hzc-release.apk:优化后的apk
操作步骤二:
apk解压缩到重新签名:
1.修改 apk 后缀为 zip
2.双击 .zip 进行解压缩
3.修改你想换的内容
4.移除META_INF文件夹
5.选中全部文件,右键压缩,切记不要直接压缩外部文件夹
6.对生成的 .zip 文件 进行签名