为工作空间中的每个项目创建ant build.xml文件

时间:2014-02-03 16:34:25

标签: android eclipse ant jenkins jenkins-plugins

如何在Eclipse中的同一工作区下为多个项目创建ANT文件?

考虑使用Jenkins,但是Jenkins在每个项目中使用Ant Emulator Plugin创建了一个build.xml文件,并且不允许我在构建时直接插入我的keystore参数。

我的想法是,最终我希望我的工作区中的所有项目都使用自动化工具进行签名。

谢谢!

3 个答案:

答案 0 :(得分:1)

在Eclipse中,在Package Explorer视图中,选择您的项目,然后右键单击==>导出,选择“常规> Ant Buildfiles”。在下一个对话框中,选中或取消选中您的选项,然后单击“完成”,将为每个选定项目生成build.xml文件。

然后您需要的是一个build.xml,它将为所有项目调用Ant构建,如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project basedir="." default="build-all" name="all-projects">
  <target description="Build all projects" name="build-all">
    <ant antfile="build.xml" target="build-project" dir="./MyProject1" inheritAll="false"/>
    <ant antfile="build.xml" target="build-project" dir="./MyProject2" inheritAll="false"/>
    ...
    <ant antfile="build.xml" target="build-project" dir="./MyProjectN" inheritAll="false"/>
  </target>
</project>

答案 1 :(得分:0)

我找到了答案:

我创建了一个工作空间常规build.xml文件。 这个文件是使用Jenkins和Powershell Plugin构建的,它看起来像这样:

<?xml version="1.0"?>
<project name="MainActivity">
    <property name="key.store" value="path_to_keystore_file" />
    <property name="key.alias" value="ssss" />
    <property name="key.store.password" value="xxx" />
    <property name="key.alias.password" value="xxx" />
    <ant dir="proj1">
        <target name="clean" />
        <target name="release" />
    </ant>
    <ant dir="proj2">
        <target name="clean" />
        <target name="release" />
    </ant>
    <ant dir="proj3">
        <target name="clean" />
        <target name="release" />
    </ant>
    <ant dir="proj4">
        <target name="clean" />
        <target name="release" />
    </ant>
</project>

之后我使用Jenkins Android Emulator Plugin生成了Project特定的build.xml文件,作为最终构建步骤,我使用了没有参数的Invoke Ant插件,默认情况下调用workspace / build.xml

我的Jenkins建立了相应的Apk标志,一切都很好。 感谢您的支持!

答案 2 :(得分:0)

 android -v update project -n PROJECTNAME -p $WORKSPACE/project/path Android -t android-XX --subprojects