APKTool签名的一个问题
jarsigner -verbose -keystore F:\\webattack\android\AndroidMasterKey_icefish.key -storepass 123456789 -keypass 1987XXXX -signedjar Modify_signed.apk F:\\webattack\android\result\ModifyCompile\Modify.apk icefish
?
?
0x05 在实际使用中,我们成功打包,成功签名,然后Android机子上一装,报错:
?10-14 07:06:50.223: W/PackageParser(61): java.lang.SecurityException: META-INF/ICEFISH_.SF has invalid digest for res/menu/main.xml in /data/app/vmdl-2089432299.tmp
? ?
甚至没有改动任何代码的直接签名都报这个错。
原因如下:
http://hardpass.iteye.com/blog/1534636
? ?
? ?实质就是jdk7改变了jarsigner的默认选项,不再是SHA 128了,而是变成了SHA256,
? ?这样Android 模拟器就验证不对了
? ?解决办法就是再jarsigner的调用中在强制设置摘要算法
? ?-digestalg SHA1 -sigalg MD5withRSA
?
这样就可以了。
?
?
?