我正在使用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
答案 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.store
和key.alias
使用相同的值。
我能看到的唯一其他潜在差异是-release-nosign:
在查找key.store
和key.alias
时引用 build.properties ,但引用 build.props 稍后。
我不是Andriod的开发者,所以我能做的最好的就是第二双眼睛;遗憾。
答案 4 :(得分:0)
如果您已经有一个项目要添加Ant构建脚本,那么您可以使用一个简单的命令行工具。打开命令提示符并导航到项目的基本目录。从那里,使用命令:
android update project --path .
答案 5 :(得分:0)
添加“<”属性文件=“build.properties”/“>” 在项目文件夹的build.xml中。