Android-对空包进行签名;

jarsigner -verbose -keystore [game.keystore] -signedjar [D:\signed.apk] [D:\unsign.apk] [game.keystore.Alias] -digestalg SHA1

参数说明:

  • [game.keystore] game.keystore 密钥库位置;
  • [D:\signed.apk] 生成的签名apk位置;
  • [D:\unsign.apk] 需要签名的空白包
  • [game.keystore.Alias] 是你打包签名时的别名 ;
  • digestalg 工程采用JDK6签名时使用参数SHA-1,工程采用JDK7签名时使用参数SHA-256(看具体渠道要求);

然后输入密钥库口令:即自己签名的密码;

可能遇到的问题;

jarsigner: 找不到 xxxx 的证书链。xxxx 必须引用包含专用密钥和相应的公共密钥证书链的有效密钥库密钥条目。

  • 原因: 输入正确的Alias

一、Eclipse查找签名别名

右键项目-Android Tools -Export Signed Application Package
查找自身项目的签名文件;输入密码;点击next之后可看到如下界面;


eclipse_Alias.png

即可以看到Alias;

Android Studio

AndroidStudio_Alias.png

警告:
未提供 -tsa 或 -tsacert, 此 jar 没有时间戳。如果没有时间戳, 则在签名者证书的到期
日期 (2065-07-23) 或以后的任何撤销日期之后, 用户可能无法验证此 jar。

这个警告的话本身对签名没有影响,但是总感觉怪怪的,要想去掉这个警告只要在命令上再加上 -tsa https://timestamp.geotrust.com/tsa 就可以了

参考博客

你可能感兴趣的:(Android-对空包进行签名;)