在Windows上使用Ant for Android将新构建文件输出到新版本号文件夹

时间:2012-05-10 06:04:21

标签: android ant build

我正在使用Ant来构建我的Android项目。 Android项目被检入Tortoise SVN。现在,当我创建一个构建时,我希望apk文件理想地生成到窗口上的不同文件夹中,说明构建的版本号。例如,在第一次构建(ant发布)时,我想要文件夹bin / 1.0 / sample.apk以及下一个bin / 2.0 / sample.apk,因此我无法维护不同的版本。理想情况下,版本号应该是版本号清单(对吗?)。怎么办呢?

1 个答案:

答案 0 :(得分:14)

您的项目中可以有一个custom_rules.xml文件,其中包含将apk复制到-post-build目标中所需文件夹的语句。您可以使用copy任务来处理它。

要从清单中检索版本信息,请按SO上的this answer

custom_rules.xml的示例如下:

<?xml version="1.0" encoding="UTF-8"?>
<project name="custom_rules">
    <xmlproperty file="AndroidManifest.xml" prefix="mymanifest" collapseAttributes="true"/>
    <property name="build.dir" value="bin/${mymanifest.manifest.android:versionName}/" />   
    <target name="-post-build">
        <echo>Version is ${mymanifest.manifest.android:versionName}</echo>
        <copy toDir="${build.dir}" >
            <fileset file="${out.final.file}" />
        </copy>
    </target>
</project>

注意:目前,apk被复制到'bin'文件夹的子文件夹中。你必须考虑另一个目录,因为每个 clean 操作都会删除'bin'文件夹。