【发布时间】:2010-11-03 14:41:28
【问题描述】:
我有一个带有链接源文件夹的项目。该项目依赖于另一个(远程服务)项目,因此 aidl 文件 和通过远程接口传递的类位于两个项目之间共享的 common_src 链接文件夹中。 Eclipse 构建可以很好地工作,(一个源文件,两个项目,一个项目中的更改反映在另一个项目中,就像它应该的那样)。
我现在想从命令行进行 Ant 构建。我使用 SDK 工具中的示例 build.xml 设法获得了另一个项目,该项目具有跨所有目标的单个 src 目录构建。它会自动导入ant_rules_r3.xml,一旦在build.properties 中定义了source.dir 和out.dir,这一切都相当轻松。
转到带有src 和common_src 文件夹的项目,我无法构建它。首先,我将编译目标及其依赖的所有目标剪切并粘贴到设置任务上方的build.xml 中。我将元素common_src 添加并定义到build.properties,并将下面显示的最后一行添加到-compile target(从ant_rules_r3.xml 复制)到build xml:
<src path="${source.absolute.dir}" />
<src path="${gen.absolute.dir}" />
<src path="${common_src}" /><!--ADDED-->
这在构建过程中得到了进一步的发展——它可以在 common_src 中找到 .java 文件,但找不到 .aidl 文件。我意识到这并不奇怪,因为aidl 是一个单独的目标。然后我添加了
<src path="${common_src}" />
到构建 xml 中的 -aidl 目标,它失败了:
BUILD FAILED
C:\dev\projects\Eclipse\AndroidWorkspace\MapProject\build.xml:77: aidl doesn't
support the nested "src" element.
所以这让我很好,真的被困住了。 理想情况下,我只想修改 build.properties 文件以包含 common_src 并将其传递给 ant_rules_r3.xml,但我想不出办法。如果有人能建议如何完成,我将不胜感激。
【问题讨论】:
-
@Ytai 如果您费心查看这两个问题的日期,您会发现这个问题比您引用的已经有答案的问题早几年发布。我看不出任何有头脑的人如何将其标记为重复。