【问题标题】:How to use jarsigner for signing an apk?如何使用 jarsigner 签署 apk?
【发布时间】:2014-02-22 19:37:32
【问题描述】:

我的编程知识很少。我可以通过命令提示符打开 jar signer 然后我得到各种 jar signer 选项,我不知道如何使用它们。谁能解释我应该在命令中输入什么提示以签署应用程序?

【问题讨论】:

    标签: java android signing jarsigner jar-signing


    【解决方案1】:

    使用jarsigner如下:

    jarsigner -keystore <keystore_file> -storepass <storepassword> <filenameTosigned> <alias>
    

    【讨论】:

    • rahul bhai....我尝试了以下 c\programfiles\java\jdk1.7.0_45\bin\jarsigner-verbose-sigalg SHA1withRSA-digestalg SHA1-keystore myapp。 APK
    • 我应该把keystore和apk文件放在哪里
    • 试过这个。但也收到警告,警告:未提供 -tsa 或 -tsacert 并且此 jar 没有时间戳。如果没有时间戳,用户可能无法在签名者证书的到期日期 (2042-07-31) 或任何未来的吊销日期之后验证此 jar。
    • 您可以忽略该警告。
    【解决方案2】:

    您可以在 d.android.com 上找到有关此主题的所有信息:http://developer.android.com/tools/publishing/app-signing.html#signapp

    jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore
    my_application.apk alias_name
    

    一件事已经花费了我几个小时,但官方文档中也提到了:

    从 JDK 7 开始,默认签名算法已更改,要求您在签名 APK 时指定签名和摘要算法(-sigalg 和 -digestalg)

    【讨论】:

    • 我应该把我的密钥库和 apk 文件放在哪里?
    • 我已经尝试了以下 c\programfiles\java\jdk1.7.0_45\bin\jarsigner-verbose-sigalg SHA1withRSA-digestalg SHA1-keystore myapp.apk
    • 我收到错误“系统找不到指定的路径”
    • 可能是因为您发布的命令缺少大量空格和其他有用的符号。尝试类似:C:\Program Files\java\jdk1.7.0_45\bin\jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myapp.apk
    • 请通读整个指南:developer.android.com/tools/publishing/app-signing.html#signapp 或者,您可以简单地使用 Eclipse 签署您的应用程序。
    【解决方案3】:

    对于 -tsa 选项,输入下一个:

    jarsigner -verbose **-tsa http://timestamp.comodoca.com/rfc3161** -sigalg SHA1withRSA -digestalg SHA1 -keystore your_keystor_name.keystore YourAPK.apk youralias_key
    

    【讨论】:

      猜你喜欢
      • 2013-09-06
      • 2016-02-18
      • 1970-01-01
      • 2013-03-16
      • 2015-08-06
      • 2013-10-07
      • 2020-01-20
      • 2016-12-11
      相关资源
      最近更新 更多