我已按照the Android Developer Blog中给出的步骤生成build.xml,用于构建Android应用程序的版本。我需要进行自定义编译,所以我覆盖了ant_rules_r3.xml的目标编译,就像在生成的build.xml中所说的那样。
<target name="compile" depends="-resource-src, -aidl, -pre-compile" ...
该脚本工作正常并生成apk,但问题是Eclipse显示错误,因为它无法找到目标-resource-src
,-aidl
和-pre-compile
(在执行时加载脚本,但实际上并不存在于build.xml中)。由于存在这些错误,我无法使用Eclipse中的项目。
如何在Eclipse中跳过此单个文件的验证?
答案 0 :(得分:8)
我不知道您是否可以为单个文件执行此操作,但我认为您可以在验证下的eclipse偏好设置中禁用验证。
答案 1 :(得分:7)
另一种解决方法(不如禁用所有验证/问题报告那么激烈): 转到Window-&gt; preferences-&gt; Ant-&gt; Problems选项卡。将“build.xml”添加到忽略列表...
答案 2 :(得分:1)
Kukudas的“忽略所有构建文件问题”的解决方案确实解决了根本问题。
但是,Eclipse仍会检测到buidl.xml已损坏,并且不允许Ant Builders调用该文件。实际上,Eclipse会默默地忽略项目中的这些构建步骤,就好像不在那里一样。
答案 3 :(得分:1)
我找到了两个适合我的解决方案:
1 - 来自kukudas的解决方案:
这个怎么样:在偏好下蚂蚁 - &gt;选项卡中的编辑器问题 “忽略所有构建文件问题”?您可以在那里设置特定文件 如果我没有弄错的话也是如此。 - kukudas 2010年10月15日10:28
虽然它有效,但这个解决方案是特定于工作空间的,如果用户想要为几个文件保留Ant验证但忽略大量文件,则可能非常繁琐。
2 - Eclipse似乎只有在编辑器中打开时才验证ant文件。因此,另一种解决方案是永远不要打开不应该使用eclipse验证的ant文件。我设法通过执行文件备份 - 删除 - 恢复来消除警告。
理想情况下,ant验证应该像所有其他XML验证一样完成,因此可以在项目级别进行配置。
答案 4 :(得分:0)
我已经找到了一个更好的解决方案来解决日食没有从导入/包含的项目中找到构建目标的问题。 首先,升级到r14 sdk。版本14仅使用$ {sdk.dir} / tools / ant目录中的build.xml文件
在您自己项目的build.xml文件的底部,您将看到如下所示的import语句:
<import file="${sdk.dir}/tools/ant/build.xml"/>
将此声明更改为
<import file="${sdk.dir}/tools/ant/build.xml" as="androidbuild" />
然后从您的项目中,您可以使用
引用这些目标<target name="compile" depends="androidbuild.-resource-src, androidbuild.-aidl, androidbuild.-pre-compile" />
另请注意,现在他们有预编译/预构建任务,这些任务将在编译之前调用。 (签出完整的build.xml以查看它们的确切调用时间)。您可以使用这些作为钩子在编译之前完成一些工作,而不会覆盖原始任务。