Android apk文件的重新打包与签名
第一步:解包APK文件
# apktool d app.apk
第二步:打包APK文件
# apktool b app
第三步:重新签名
# jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore mysign.keystore app.apk mysign
或# jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA256 -keystore mysign.keystore app.apk mysign
第四步:验证你的apk签名
# jarsigner -verify -verbose -certs app.apk
第五步:使用zipalign来对齐apk包(可选)
$ zipalign -v 4 app-unaligned.apk app.apk
zipalign 确保所有的未压缩数据与特定字节对齐相对于文件,从而降低apk文件的大小。
工具使用说明:
1、生成签名的方法
# keytool -genkey -v -keystore mysign.keystore -alias mysign -keyalg RSA -keysize 2048 -validity 10000
-keystore:存放路径 (mysign.keystore)
-alias:别名(mysign)
-validity :过期时间(10000天)
2、jarsigner的命令格式
jarsigner -verbose -keystore [您的私钥存放路径] -signedjar [签名后文件存放路径] [未签名的文件路径] [您的证书名称]
3、apktool使用
解包:apktool d [apk文件路径]
打包:apktool b [android项目文件目录]
谢谢您的来访,欢迎关注交流!以下是我的个人联系方式
电子邮箱:spring.wind2006@163.com,QQ:402085437,微信号:tm402085437