对于写好的Android程序,打成apk包,有时我们想更换下包里的资源,或者我们需要跑自动化测试,这时就得对这个apk包进行重新签名。
-
Java环境
-
方法一:需要删除apk包中的签名文件,META-INF(更改apk格式为压缩包形式,删除META-INF文件夹,改回.apk格式);
-
-
-
-
-
将证书(debug.keystore)复制到与需要重新签名的apk文件相同的目录下(如:复制到桌面新建文件夹,C:\Users\fkq\Desktop\新建文件夹);
-
-
cmd进入命令,定位到选中的文件夹:
-
-
运行下面的命令:
-
jarsigner -verbose -keystore debug.keystore -storepass android -signedjar sign.apk -digestalg SHA1 -sigalg MD5withRSA signed.apk androiddebugkey
-
/*解释:-jarsigner是Java的签名工具
-verbose 参数表示:显示出签名详细信息
-
-keystore 表示使用当前目录中的debug.keystore签名证书文件
-
-storepass android 表示Keystore密码:“android”
-
-signedjar signed.apk表示签名后生成的APK名称,
-
sign.apk表示未签名的APK
-
Android软件-digestalg SHA1 -sigalg MD5withRSA:这就是必须加上的参数,如果你是jdk 1.6也不受影响
-
-androiddebugkey表示Key别名,也可为 mysign.keystore
-
-
-
-
大功告成,看看文件夹吧;
-