【发布时间】:2012-01-10 16:50:36
【问题描述】:
我有一个主构建文件,用于构建一系列 Android 项目。这些 Android 项目中的每一个都引用同一个 Android 库项目(我将其称为 CoreLibrary)。以下是我的子任务。
<target name="build" description="Builds (only) all applications">
<subant>
<target name="debug" />
<fileset refid="all-applications" />
</subant>
</target>
问题:我可以做些什么来防止 CoreLibrary 为我的子任务的所有应用程序文件集中的每个 Android 项目重新构建?这将大大加快我的构建时间,所以我希望我能做点什么。
【问题讨论】:
-
现在,我不这么认为。下一个主要工具版本可能支持将库项目作为 JAR 分发。在这种情况下,您可以让 Ant 脚本构建库项目并让其他项目引用 JAR,而不是直接引用库项目。至少在理论上。
-
谢谢。我曾希望防止重复构建库的新构建过程可以在这里有所帮助。换句话说,我知道如果我有 Lib A 和 Lib B 引用 Lib C,那么现在在构建一个引用 Lib A 和 B 的项目时,Lib C 只会构建一次。我希望如果我能想办法利用有这个问题。
-
@CommonsWare 我更新了您可能想要查看的答案。据我所知,它应该可以正常工作,但我不确定
nodeps目标何时添加到 SDK。 -
nodeps将是构建工具的一部分,而不是 SDK 本身。因此,只要它适用于当前工具,每个人都应该能够使用它。关于是否会长期支持nodeps,您可能想在adt-devGoogle Group 上询问。 -
好主意。他们似乎在构建库时在内部使用它,因为它们实际上按依赖顺序解析库,因此不需要自动解析和构建依赖项。无论如何,对于任何使用主构建文件的人来说,我建议的应该可行。
标签: android ant compilation multiple-projects subant