基本签名流程:
验证签名java -jar apksigner.jar verify -v inputName.apk
读签名文件:keytool.exe -list -v -keystore ./meme.jks -storepass 123456 从输出中拿到别名
对齐包:zipalign.exe -p -v 4 input.apk output.apk 按4字节将输入包对齐,防止后面签名出错
V2签名命令:java.exe -jar apksigner.jar sign -verbose --ks SVC-release-key.keystore --v1-signing-enabled false --v2-signing-enabled true --v3-signing-enabled false --ks-pass pass:20160523 --ks-key-alias svckey(别名) --key-pass pass:123456 --out outputName.apk --in inputName.apk
读取apk包的MD5值
java -jar CheckAndroidSignature.jar app-release_signed.apk
{"ret":0,"msg":"","isV1OK":false,"isV2":true,"isV2OK":true,"isV3":false,"isV3OK":false,"keystoreMd5":"b72b16517a4a98e9bb93b4f86a74f0ae"}
v1签名:
v1签名会校验 APK 中每个文件的合法性,但并不包含META-INF目录中的文件,而且也不能保护 APK 的某些部分,例如 ZIP 元数据。
v2签名:
与v1签名对压