Android签名警告提示-tsa或-tsacert此jar没有时间戳无法安装

时间:2022-04-08 14:33:37

最近用工具发现在编译之后签名总提示警告导致APK无法安装的问题Android签名警告提示-tsa或-tsacert此jar没有时间戳无法安装

以前用一直么有这个问题好像是JDK7的原因吧,后来发现在签名的时候可以给他一个时间戳的选项

jarsigner -tsa https://timestamp.geotrust.com/tsa -keystore aaaa.keystore

在处理安装失败的时候在加上-digestalg SHA1 -sigalg MD5withRSA这句话

最后完整的:

jarsigner -verbose -digestalg SHA1 -sigalg MD5withRSA -tsa https://timestamp.geotrust.com/tsa -keystore new.keystore -keypass coo -storepass coo -signedjar %1\sign.apk %1\tmp_.apk new.keystore
del %1\tmp_.apk

pause

上面命令是我批处理里面的命令可以参考一下

正常命令如下

jarsigner -verbose -digestalg SHA1 -sigalg MD5withRSA -tsa https://timestamp.geotrust.com/tsa -keystore new.keystore -keypass coo -storepass coo -signedjar signed.apk sign.apk new.keystore

signed.apk是签名之后生成的文件

sign.apk是没签名之前


大家可以看下

jarsigner用法 [选项] jar 文件别名

       jarsigner -verify [选项] jar 文件

[-keystore <url>]           密钥库位置

[-storepass <口令>]         用于密钥库完整性的口令

[-storetype <类型>]         密钥库类型

[-keypass <口令>]           专用密钥的口令(如果不同)

[-sigfile <文件>]           .SF/.DSA 文件的名称

[-signedjar <文件>]         已签名的 JAR 文件的名称

[-digestalg <算法>]    摘要算法的名称

[-sigalg <算法>]       签名算法的名称

[-verify]                   验证已签名的 JAR 文件

[-verbose]                  签名/验证时输出详细信息

[-certs]                    输出详细信息和验证时显示证书

[-tsa <url>]                时间戳机构的位置

[-tsacert <别名>]           时间戳机构的公共密钥证书

[-altsigner <>]           替代的签名机制的类名

[-altsignerpath <路径列表>] 替代的签名机制的位置

[-internalsf]               在签名块内包含 .SF 文件

[-sectionsonly]             不计算整个清单的散列

[-protected]                密钥库已保护验证路径

[-providerName <名称>]      提供者名称

[-providerClass <>        加密服务提供者的名称

[-providerArg <参数>]] ... 主类文件和构造函数参数