首先,查看我的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