【问题标题】:Using jarsigner -verify on an APK asks me to specify an alias?在 APK 上使用 jarsigner -verify 要求我指定别名?
【发布时间】:2012-01-14 15:32:02
【问题描述】:

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

jarsigner -verify -verbose -certs app.apk

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

Please specify alias name

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

发生了什么事?

【问题讨论】:

  • 如果你使用像 eclispse 这样的 ide 会容易得多。

标签: java android jarsigner


【解决方案1】:

只有在签署 APK 时才需要别名。你用的是什么版本的JDK?是 Sun/Oracle JDK 吗?

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

【讨论】:

  • 我使用的是JDK1.7.0_01,我现在正在尝试1.6。 (我不是 Java 人,我只是抓住了似乎是 Sun 推荐的版本。)
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    app > build > 输出 > apk 路径

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

    否则恭喜!你签署了你的 .apk,它现在“发布”了。

    【讨论】:

      猜你喜欢
      • 2012-10-31
      • 2012-02-03
      • 2020-05-06
      • 2015-11-19
      • 1970-01-01
      • 1970-01-01
      • 2013-07-25
      • 2017-03-15
      • 1970-01-01
      相关资源
      最近更新 更多