【问题标题】:No key.store and key.alias properties found in build.properties在 build.properties 中找不到 key.store 和 key.alias 属性
【发布时间】:2012-01-26 04:52:34
【问题描述】:

我正在使用 ant-release 对我的 Android 应用进行 1 步构建。

我的 build.properties 如下所示:

application.package=xxxxx
key.store=sonr
key.alias=sonr labs
key.store.password=xxxx
key.alias.password=xxxx

当我运行 ant-release 时,一切都很好,除了应用程序签名。我得到了错误:

-release-prompt-for-password:

-release-nosign:
     [echo] No key.store and key.alias properties found in build.properties.
     [echo] Please sign /Users/syalam/Documents/git/joeborn-sonr/sonr/bin/SONR-release-unsigned.apk manually
     [echo] and run zipalign from the Android SDK tools.
[propertyfile] Updating property file: /Users/syalam/Documents/git/joeborn-sonr/sonr/bin/build.prop
[propertyfile] Updating property file: /Users/syalam/Documents/git/joeborn-sonr/sonr/bin/build.prop
[propertyfile] Updating property file: /Users/syalam/Documents/git/joeborn-sonr/sonr/bin/build.prop
[propertyfile] Updating property file: /Users/syalam/Documents/git/joeborn-sonr/sonr/bin/build.prop

我该如何解决这个问题?

PS。我按照本教程来降低我的构建过程http://www.androidengineer.com/2010/06/using-ant-to-automate-building-android.html

【问题讨论】:

  • 你在 Mac 上看起来像。您之前是否成功使用过ant-release 和该密钥库?您是否移动了任何文件...可能是权限问题?
  • 是的,我使用的是 Mac。这是我第一次尝试 ant-release。我可以使用 Eclipse GUI 很好地导出。

标签: java android ant build-process


【解决方案1】:

我最近也遇到这个问题,我认为那个教程已经过时了......

key.alias 等指令需要位于名为 ant.properties 的文件中。不再有名为 build.properties 的文件了。

【讨论】:

  • 这绝对是朝着正确方向迈出的一步!我收到错误 [signjar] jarsigner error: java.lang.RuntimeException: keystore load: /Users/syalam/Documents/git/joeborn-sonr/sonr/sonr (No such file or directory) 不确定为什么会显示额外的 /sonr 目录,因为它在我的文件路径中不存在,我在哪里可以更改?
  • 我不知道“sonr”是什么……你确定这是“ant release”的结果,而不是一些不相关的过程吗?你用的是什么版本的 Ant 和 JDK?
  • ant release 是我正在运行的唯一命令。有没有地方可以指定 jarsigner 的路径不包括这个额外的 /sonr 目录? sonr 是我的应用程序的名称
  • 我相信我已经解决了。他们的密钥库需要与 build.xml 位于同一目录中,我将它放在另一个文件夹中
  • ant.properties 为我工作,将密钥库设置为另一个目录中的完整路径。
【解决方案2】:

任何此类问题的最终答案都在 android-sdk/tools/ant/build.xml 中

文档位于http://developer.android.com/guide/developing/building/building-cmdline.html

【讨论】:

  • 链接失效了。请修改它并提供一个新链接。这正是我们必须粘贴我们在 stackoverflow 上共享的链接中最重要部分的原因。
【解决方案3】:

关于文件名修复后的“Sheehan Alam”问题

[signjar] jarsigner 错误:java.lang.RuntimeException: keystore load: ...

您可能将 key.store 设置为具有完整路径的值。

确保您使用的是“/”而不是“\”。

【讨论】:

    【解决方案4】:

    keystore 是您的密钥库文件的名称吗?来自教程:

    其中 keystore 是您的密钥库文件的名称并更改值 的 key.alias 到您的密钥库的别名。现在当你运行 ant release 时, 系统将提示您输入密码,构建将 自动签名并压缩您的包。

    在上面的示例中,key.storekey.alias 使用相同的值。


    我能看到的唯一其他潜在差异是 -release-nosign: 在查找 key.storekey.alias 时引用 build.properties,但引用 build.props 稍后。

    我不是 Andriod 开发者,所以我能做的最好的就是做第二双眼睛;对不起。

    【讨论】:

    • 我已经更新了我的问题以正确反映值是什么。出于明显的安全原因,我已经删除了密码。
    【解决方案5】:

    如果您已经有一个想要添加 Ant 构建脚本的项目,那么您可以使用一个简单的命令行工具。打开命令提示符并导航到项目的基本目录。从那里,使用命令:

    android update project --path .
    

    【讨论】:

      【解决方案6】:

      添加“" 在项目文件夹的 build.xml 中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-24
        • 1970-01-01
        • 1970-01-01
        • 2011-09-05
        • 2023-03-30
        • 2019-08-27
        相关资源
        最近更新 更多