1·针对上面已签名的apk,删除apk的签名信息:将test.apk改名为test.zip包后,打开压缩包,把META-INF目录下的所有文件删除后,重新压缩文件。把test.zip文件改名成test.apk。再次查看test.apk的签名信息,会发现apk未签名。
·对apk重新签名。在终端输入命令:
jarsigner -verbose –sigalg SHA1withRSA -digestalg SHA1 -keystore debug.keystore -storepass "android" -keypass “android” -signedjar 签名后.apk 源.apk androiddebugkey
注意在JDK1.7环境下必须加上–sigalg SHA1withRSA -digestalg SHA1
其中debug.keystore为系统.Android下的默认keystore,改密钥为ADT默认使用的签名工具。其alias 是androiddebugkey,-storepass为android,-keypass为android
·使用zipalign工具修正刚签名的apk包,使apk文件中未压缩的数据在4个字节边界上对齐(4个字节是一个性能很好的值)。工具位置为android sdk的tools目录中。进入该目录后执行命令:
./zipalign -v 4 源.apk 重命名.apk
·查看apk的签名信息。使用java的jarsigner来查看apk是否签名。在终端输入:
jarsigner -verify -verbose –certs /Users/***/test.apk
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1
-keystore customdebug.keystore -storepass "android"
-signedjar release-signed.apk yydb-3.5.0+222-shell-unsigned.apk
androiddebugkey
alias 是androiddebugkey
-keypasswd 是android
.keystore 文件和apk包(加固未签名)放在同一文件夹里边,cmd进入到该目录下,然后再去操作签名
网友评论