用自己的keystore对未签名的文件签名生成新的apk
下载apktool工具:
apktool官方网站:https://ibotpeaches.github.io/Apktool/
解压apktool并配置apktool环境变量
安装方法:https://ibotpeaches.github.io/Apktool/install
创建打包工具
3.1 新建一个文件夹
命名为 auto_sign
3.2 提取必备文件
● 把签名的keystore复制到改文件目录下面
● 把待签名的apk文件复制到该目录下面,并改名为tmp.apk
3.3 制作bat签名工具
在auto_sign文件夹下新建文件sign.bat
用记事本打开sign.bat输入以下内容:
如果你本地jdk是1.6及一下的:
1 |
jarsigner -verbose -keystore android.keystore -signedjar enhanced_signed.apk enhanced.apk othername |
命令说明:
● -verbose:显示出签名详细信息
● -keystore :表示使用当前目录中的android.keystore签名证书文件,这里需要替换成你自己的keystore !
● -signedjar enhancedsigned.apk enhanced.apk othername表示签名后生成的APK名称是enhancedsigned.apk,需要签名的APK名称是enhanced.apk,othername表示keystore的别名,这里你需要把这个别名替换成你的keystore的别名 !
如果本地jdk是1.7及以上的:
1 |
jarsigner -digestalg SHA1 -sigalg MD5withRSA -keystore android.keystore -storepass android -signedjar enhancedsign.apk enhanced.apk othername |
对比一下旧的命令:
1 |
jarsigner -verbose -keystore android.keystore -signedjar enhancedsigned.apk enhanced.apk android.keystore |
可以发现,新命令添加了-digestalg SHA1 -sigalg MD5withRSA这一个东西。抽取一下语法如下:
1 |
jarsigner -digestalg SHA1 -sigalg MD5withRSA -keystore [你的keystore] -storepass [keystore的密码] -signedjar [签名后的apk] [未签名的apk] [keystore的别名] |
下面附上一个我自己写的自动签名bat工具吧
注:关键信息已经用*****代替,请自己替换。请把apk文件拷贝到同文件夹下,改名为tmp.apk。
1 2 3 4 5 6 7 8 |
@ECHO OFF Echo sign Created By py40.com Echo tmp.zip is now being signed and will be renamed to sign.zip @jarsigner -digestalg SHA1 -sigalg MD5withRSA -keystore cnhubei.jks -storepass ******** -signedjar sign.apk tmp.apk ***** Echo Signing Complete Pause EXIT |
未经允许不得转载:Python在线学习 » 用自己的keystore对未签名的文件签名生成新的apk