Android apk重新签名
引用
http://jingyan.baidu.com/article/bad08e1ee438e109c851213d.html
一.签名文件的生成
如果apk需要重新进行签名,第一条你必须要一个签名文件。而这个签名文件也不同。
这种会有两种情况:
- 1.用以前的签名文件
- 2.新的签名文件
比如第三方插件百度地图sdk,如果你的签名文件不同了和以前不同了,那么生成的SHA1码也就不同了。所以这种情况下,你就必须需要用的是以前的签名文件,再把它和apk进行重新打包。
而如果你是要生成新的签名文件的话,那就请看Android的签名文件生成两种方法,去生成签名文件。
二.删除之前的签名文件
修改apk格式为zip格式1、把apk的后缀改成zip格式
删除META-INF文件夹2、用解压工具打开压缩文件android.zip,然后删除文件夹中的 META-INF目录。
META-INF存放签名后的CERT和MANIFEST文件,用于识别软件的签名及版权。
3.直接把android.apk文件后缀改为android.apk
三.为APK重新生成签名
- 1.将签名证书(一般都是jks或者keystore格式的文件)复制到与需要重新签名的apk文件相同的目录下。按住shift键,鼠标右击,选择在此处打开命令窗口。
- 2.运行以下命令行(你就可千万别换行了,我这是为了让你们更直观的看见,其实每一行是连在一起的,中间只是有个空格)
jarsigner -verbose -keystore debug.jks
-storepass XXXXXX
-signedjar android_sign.apk
-digestalg SHA1 -sigalg MD5withRSA android.apk
key
-jarsigner是Java的签名工具-verbose参数表示:显示出签名详细信息-keystore表示使用当前目录中的debug.jks(或者格式为.keystore)签名证书文件
-storepass XXXXXX表示Keystore密码
-signedjar android_sign.apk表示签名后生成的APK名称
android.apk表示未签名的APK Android软件
-digestalg SHA1 -sigalg MD5withRSA:这就是必须加上的参数,如果你是jdk 1.6也不受影响
key:需要换成你的签名文件的别名
签名进行中
3.本文件夹下的android_sign.apk就是重新签名的apk
android_sign.apk就是重新签名的apk