1·針對上面已簽名的apk掖鱼,刪除apk的簽名信息:將test.apk改名為test.zip包后帮寻,打開壓縮包,把META-INF目錄下的所有文件刪除后弄企,重新壓縮文件超燃。把test.zip文件改名成test.apk。再次查看test.apk的簽名信息拘领,會發(fā)現(xiàn)apk未簽名意乓。
·對apk重新簽名。在終端輸入命令:
jarsigner -verbose –sigalg SHA1withRSA -digestalg SHA1 -keystore debug.keystore -storepass "android" -keypass “android” -signedjar 簽名后.apk 源.apk androiddebugkey
注意在JDK1.7環(huán)境下必須加上–sigalg SHA1withRSA -digestalg SHA1
其中debug.keystore為系統(tǒng).Android下的默認(rèn)keystore约素,改密鑰為ADT默認(rèn)使用的簽名工具届良。其alias 是androiddebugkey,-storepass為android圣猎,-keypass為android
·使用zipalign工具修正剛簽名的apk包士葫,使apk文件中未壓縮的數(shù)據(jù)在4個字節(jié)邊界上對齊(4個字節(jié)是一個性能很好的值)。工具位置為android sdk的tools目錄中送悔。進(jìn)入該目錄后執(zhí)行命令:
./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進(jìn)入到該目錄下荚藻,然后再去操作簽名