查看已经打包好的APK文件的签名与给打包好的APK文件签名

来源:互联网 发布:移动软件开发是什么 编辑:程序博客网 时间:2024/05/16 12:14

说明:此操作是在MAC系统上进行的,对于windows系统是否适用没用试验过。

1.查看APK签名

    将.apk文件更改为后缀名为.zip文件,然后解压文件,里面有一个META-INF文件,其中包含了CERT.RSA文件。 在命令行模式下输入命令:keytool -printcert -file  /Users/xiaoxue/Downloads/test/META-INF/CERT.RSA 

/Users/xiaoxue/Downloads/test/META-INF/CERT.RSA 是 CERT.RSA的文件路径

结果:

图片

 MD5就是该APK的签名

2.查看keyStroe(后缀名也可以是.key)信息

 将.keyStroe(或者.key)文件复制到安装的jdk目录下的bin目录下面,如图所示(此处以atest.key文件为例

图片

在命令行模式下,进入到bin文件目录下,然后输入以下命令:
keytool -list  -v -keystore xxxx.keystore -storepass 密码 (eg:$ keytool -list  -v -keystore atest.key -storepass 222222)
签名的信息就有了:如果仅仅是要查看APK的签名信息,第一步的方法就够了,只是如果要给APK文件签名的话,就需要用第二步中的方法,这样会得到keystore文件的别名,这个在APK文件签名中是需要的。

3. 对没有签名的apk进行签名,直接忽略第一步,从第二步开始(如何重签名APK文件,第一步开始
   (1)
需要删除apk包中的签名文件,META-INF(更改apk格式为压缩包形式,删除META-INF文件夹,改回.apk格式);
   (2)将证书(debug.keystore)复制到与需要重新签名的apk文件相同的目录下(如:复制到D:\Sign)
 图片
(3)进入cmd模式,进入D:\Sign目录;  

 (4)运行下面的命令jarsigner -verbose -keystore debug.keystore -signedjar PhoneBook_signed.apk -digestalg SHA1 -sigalg MD5withRSA PhoneBook.apk androiddebugkey

jarsigner命令格式:-verbose输出详细信息 -keystore密钥库位置 -signedjar要生成的文件 要签名的文件 密钥库文件
 -signedjar PhoneBook_signed.apk表示签名后生成的APK名称
PhoneBook.apk表示未签名的APK 
Android软件-digestalg SHA1 -sigalg MD5withRSA:这就是必须加上的参数,如果你是jdk 1.6也不受影响
-androiddebugkey表示Key的别名




0 0