在build.properties中找不到key.store和key.alias属性

时间:2011-12-22 15:03:15

标签: java android ant build-process

我正在使用ant-release来构建我的Android应用程序。

我的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

6 个答案:

答案 0 :(得分:86)

我最近遇到过这个问题,我觉得那个教程已经过时了......

key.alias etc指令需要位于名为 ant.properties 的文件中。这里没有名为build.properties的文件。

答案 1 :(得分:4)

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

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

答案 2 :(得分:3)

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

  

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

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

确保您使用'/'而不是'\'。

答案 3 :(得分:0)

keystore是密钥库文件的名称吗?从教程:

  

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

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


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

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

答案 4 :(得分:0)

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

android update project --path .

答案 5 :(得分:0)

添加“<”属性文件=“build.properties”/“>” 在项目文件夹的build.xml中。