首先,查看我的build.xml中的echo语句,你是对的 - 未签名的包不对齐。
假设你使用的是最新的SDK,然后我修改的build.xml做出额外的文件(项目名称释放,无符号aligned.apk)是这样的:
覆盖的-set释放模式的目标,加入行中的注释之间
<target name="-set-release-mode" depends="-set-mode-check">
<property name="out.packaged.file" location="${out.absolute.dir}/${ant.project.name}-release-unsigned.apk" />
<!-- NEW PROPERTY FOR UNSIGNED ALIGNED FILE -->
<property name="out.unsignedaligned.file" location="${out.absolute.dir}/${ant.project.name}-release-unsigned-aligned.apk" />
<!-- NEW PROPERTY FOR UNSIGNED ALIGNED FILE END -->
然后添加到公布目标的新的ZIP意见之间的界限
<!-- Zip aligns the APK -->
<zipalign-helper in.package="${out.unaligned.file}"out.package="${out.final.file}" />
<!-- NEW Zip aligns the unsigned APK -->
<zipalign-helper in.package="${out.packaged.file}" out.package="${out.unsignedaligned.file}" />
<!-- NEW Zip aligns the unsigned APK END -->
这应该给你额外的无符号和对齐的文件。我没有测试过最终的APK,但它看起来非常简单易行
您建议的更改非常好,谢谢。使用你的答案作为灵感,我最终修改了发布目标(不是-set-release-mode目标),完全删除了签名步骤。 (我有一个单独的build.xml用于我的亚马逊构建和我的常规Android Market构建。) – 2012-01-24 14:12:48
您可以发布整个build.xml文件吗?我有一个名为'common'的库项目,它被引用,我得到这个错误: 'BUILD FAILED /srv/android-sdk-linux_x86/tools/ant/build.xml:466:执行此操作时发生以下错误行: 目标“$ {build.target}”在项目“common”中不存在。 – 2012-06-09 15:49:05