在APK上使用jarsigner -verify要求我指定别名?

时间:2011-12-07 03:10:40

标签: java android jarsigner

我正在尝试检查APK上的签名信息。 docs说要使用

jarsigner -verify -verbose -certs app.apk

various SO questions同意。但是,如果我抓住JDK 1.7并且这样做,我会收到错误:

Please specify alias name

这很难处理,考虑到googling错误消息只返回指向jarsigner源的链接。

发生了什么事?

3 个答案:

答案 0 :(得分:3)

只有在签署APK时才需要别名。您使用的是哪个版本的JDK?是Sun / Oracle JDK吗?

顺便说一句,你不应该使用Java 7进行android开发,它不是官方支持的。另请注意,jarsigner默认摘要算法已更改,因此如果未明确指定摘要算法,则使用Java 6和Java 7进行签名将产生不同的结果。

答案 1 :(得分:2)

如果别名包含空格,我发现可能会发生同样的错误:

ALIAS WITH SPACES
我设法通过使用引号指定别名来克服这个问题。这甚至可以在Maven文件的属性中使用:
'ALIAS WITH SPACES'

答案 2 :(得分:1)

使用:
  $ jarsigner -verify -verbose -certs app.apk

应用>

构建> ouputs> apk 路径

如果您看到CN短语,那么您的.apk是"调试",

否则恭喜!你签了你的.apk,它的"发布"现在