使用 jar 命令签名apk文件, 需要准备的有:
在命令行输入 jarsinger -help
, 可获得使用说明:
PS C:/WINDOWS/system32> jarsigner -help 用法: jarsigner [选项] jar-file 别名 jarsigner -verify [选项] jar-file [别名...] [-keystore <url>] 密钥库位置 [-storepass <口令>] 用于密钥库完整性的口令 [-storetype <类型>] 密钥库类型 [-keypass <口令>] 私有密钥的口令 (如果不同) [-certchain <文件>] 替代证书链文件的名称 [-sigfile <文件>] .SF/.DSA 文件的名称 [-signedjar <文件>] 已签名的 JAR 文件的名称 [-digestalg <算法>] 摘要算法的名称 [-sigalg <算法>] 签名算法的名称 [-verify] 验证已签名的 JAR 文件 [-verbose[:suboptions]] 签名/验证时输出详细信息。 子选项可以是 all, grouped 或 summary [-certs] 输出详细信息和验证时显示证书 [-tsa <url>] 时间戳颁发机构的位置 [-tsacert <别名>] 时间戳颁发机构的公共密钥证书 [-tsapolicyid <oid>] 时间戳颁发机构的 TSAPolicyID [-tsadigestalg <算法>] 时间戳请求中的摘要数据的算法 [-altsigner <类>] 替代的签名机制的类名 [-altsignerpath <路径列表>] 替代的签名机制的位置 [-internalsf] 在签名块内包含 .SF 文件 [-sectionsonly] 不计算整个清单的散列 [-protected] 密钥库具有受保护验证路径 [-providerName <名称>] 提供方名称 [-providerClass <类> 加密服务提供方的名称 [-providerArg <参数>]]... 主类文件和构造器参数 [-strict] 将警告视为错误
签名命令为:
jarsigner -verbose -keystore [签名文件路径] -storepass [文件密码] -signedjar [签名后文件路径] [待签名文件路径] [签名文件alias]
举例:
jarsigner -verbose -keystore release.keystore -storepass 123456 signedjar signed.apk unsign.apk release