我正在尝试检查APK上的签名信息。 docs说要使用
jarsigner -verify -verbose -certs app.apk
和various SO questions同意。但是,如果我抓住JDK 1.7并且这样做,我会收到错误:
Please specify alias name
这很难处理,考虑到googling错误消息只返回指向jarsigner源的链接。
发生了什么事?
答案 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,它的"发布"现在