一、空白签名(用于认领应用)
应用市场上有时更改了签名文件,应用需要认领。这时市场会提供一个空包让我们重新签名,来验证通过认领应用。
准备工作:
安装jdk后,电脑上是否有jarsigner.exe,并且配置jdk的环境变量
空白签名的步骤:
1、桌面上新建一个空白文件夹:比如test
2、将签名文件和空白签名apk 放在这个文件夹中:
3、cmd打开命令行,进入这个文件夹
cd C:\Users\lenovo\Desktop\test
4、执行命令签名:
jarsigner -verbose -keystore 签名证书名称(加后缀) -storepass 签名文件的秘钥
-signedjar 签名后的apk(名称加后缀) -digestalg SHA1 -sigalg MD5withRSA
未签名的apk(名称加后缀) 签名文件的别名
注意:
1、最后一个参数为:别名,可能和签名证书的名称不一样,写错会 报错:找不到证书链错误。
2、未签名的apk文件和签名证书可以不放入同一个文件夹再操作,但是需要指定具体路径。
3、有了jdk的环境变量配置,可以直接使用jarsigner命令,不必指明jarsigner的路径。
示例:
jarsigner -verbose -keystore mytest.keystore -storepass xq123 -signedjar signed.apk -digestalg SHA1 -sigalg MD5withRSA unsigned.apk mt.con
jarsigner :Java的签名工具
-verbose :显示签名的详细信息
-keystore mytest.keystore:签名证书文件
-storepass xq123 :签名证书密码
-signedjar signed.apk :已签名apk的命名(signed apk),输出apk
-digestalg SHA1
-sigalg MD5withRSA unsigned.apk :待签名apk的命名(unsigned apk)
mt.con:签名证书文件的别名(alias),这里要注意是别名,可能和签名证书名称不一样,写错会报错:找不到证书链错误
5、打开文件夹发现,签名的apk已生成。
参考:
搜狗手机助手-应用认领须知
百度应用市场的认证空包签名:使用Clound证书,如何写入签名空包?
命令行jarsigner签字和解决找不到证书链错误
给android空apk包打签名
二、二次签名
对于写好的Android程序,打成apk包,有时我们想更换下包里的资源,或者我们需要跑自动化测试,这时就得对这个apk包进行重新签名。
1、删除apk包中的签名文件,META-INF(更改apk格式为压缩包形式,删除META-INF文件夹,改回.apk格式);获取得到空白签名的apk。
2、其他操作同上:空白签名。