16

刚刚注意到您不能使用 Java 1.7 jarsigner 签署 Android APK。所以我想知道为什么会这样,1.6 和 1.7 签名者之间有什么区别?

4

2 回答 2

11

这是因为 Java 1.7 的默认摘要算法是SHA-256,而 Java 1.6的默认摘要算法是SHA1withDSA

Java 1.6 Jarsigner 文档

Java 1.7 jarsigner 文档

于 2012-01-05T08:37:07.957 回答
6

是的,你可以使用 1.7!

查找 1.7 的使用信息非常棘手,但一旦找到它就相当简单:

对于 keytool 包括

-sigalg SHA1withDSA -keyalg DSA -keysize 1024

对于 jarsigner 包括

-sigalg SHA1withDSA -digestalg SHA1

(1024 是最大值并且有效,较少可能会起作用)

于 2012-01-22T22:25:26.557 回答