如何使用Ant编译和jar一个Android项目?

时间:2012-02-22 23:36:46

标签: android ant build jar

我正在尝试处理整个“Ant”构建系统的问题。我已经使用命令android update project -p .创建了一个Android本机给我的build.xml。

虽然这给了我一个模板build.xml文件,但我想要更多选项。具体来说,我希望能够 JAR 和/或编译我的项目;最好带有版本号。

奖金问题:如何从JAR版本中排除文件。例如,我有一个我用来测试我的功能的活动,但我不希望它包含在最终的JAR中。

我给我的build.xml文件是Gisted here,因为它很长(主要是评论)。

编辑:我也在使用IntelliJ,所以没有Eclipse的细节,拜托!

2 个答案:

答案 0 :(得分:14)

  

具体来说,我希望能够JAR和/或编译我的项目;最好带有版本号。

在Android中,版本号适用于应用,而非JAR。

话虽如此,添加jar目标是将此问题添加到您的build.xml文件的底部:

<target name="jar" depends="debug">
    <jar
        destfile="bin/whatever-you-want-to-call-the.jar"
        basedir="bin/classes"
    />
</target>

然后,运行ant jar来编译和打包JAR文件。

您将在my GitHub area中的大多数可重复使用的Android组件中看到此模式(请参阅cwac- repos)。

  

奖金问题:如何从JAR版本中排除文件。例如,我有一个用于测试我的功能的活动,但我不希望它包含在最终的JAR中。

使用excludesexcludesfile,如jar Ant task documentation中所述。

答案 1 :(得分:1)

为了重用Android和非Android项目,我建议你看一下Android Maven插件。它利用了依赖管理和Maven的其他强大功能,并且更适合您想要做的事情。

查看webpage and documentation上的Android development in Maven : The Complete Reference以及我写的关于{{3}}的章节,以便更多地了解Maven。

Android插件支持重复使用普通的jar工件,如果代码中有Android依赖项,则可以使用apklib项目。很多像Roboguice,robolectric,actionbarsherlock等项目都成功使用了这个功能。