在eclipse中使用Android build.xml?

我有一个具有Ant构build文件的Android项目。 它通过命令行很好用:

rascher@coltrane:~/git/$ ant Buildfile: build.xml [setup] Android SDK Tools Revision 8 [setup] Project Target: Android 2.1-update1 [setup] API level: 7 [setup] ... etc etc etc ... 

但是,当我尝试在eclipse中使用这个, build.xml有一个红色的X。

 <?xml version="1.0" encoding="UTF-8"?> <project name="MyWonderfulProject" default="help"> 

<project带有下划线,错误: 此项目中不存在默认的目标帮助

似乎互联网上的其他人都有这个问题,这似乎是由build.xml使用来自这个构build文件导入的多个嵌套的android特定文件的指令引起的。

我的工作区中有其他项目使用Eclipse的构build机制,所以我知道我的环境能够编译,运行和部署Android应用程序,而不会出现问题。 但是这个构build文件让我头疼。

什么是修复?

Solutions Collecting From Web of "在eclipse中使用Android build.xml?"

选项1:

在build.xml文件中导入Android Ant模板文件。 假设你已经在sdk.dir定义了local.properties并且指向你的Android安装目录,那么在项目元素下添加以下内容:

  <import file="${sdk.dir}/platforms/${target}/templates/android_rules.xml" /> 

选项2:

为了在Eclipse Ant的angular度实际使用Android Ant目标,上面的内容不会有帮助。 似乎有一些一般水平的不兼容性,我没有想到要完全解决,但为了让事情工作在令人满意的水平,尽pipe你可以:

  • 将项目build.xml导入为一个构build器。 项目属性 – >build设者 – >导入。
  • 不要使用选项1 。 相反,请忽略关于缺less模板的警告。 全局属性 – > Ant – >编辑器 – >问题。 将build.xml添加到名称。

这将对所有项目产生影响,并忽略实际的错误,所以这不是一个完美的解决scheme。 但是您可以在Eclipse中使用Android构build选项,也可以在命令行中使用。

在$ {sdk.dir} / tools / ant / main_rules.xml中定义了一个名为'help'的目标,如下所示,

 <target name="help"> <echo>Android Ant Build. Available targets:</echo> <echo> help: Displays this help.</echo> <echo> clean: Removes output files created by other targets.</echo> <echo> compile: Compiles project's .java files into .class files.</echo> <echo> debug: Builds the application and signs it with a debug key.</echo> <echo> release: Builds the application. The generated apk file must be</echo> <echo> signed before it is published.</echo> <echo> install: Installs/reinstalls the debug package onto a running</echo> <echo> emulator or device.</echo> <echo> If the application was previously installed, the</echo> <echo> signatures must match.</echo> <echo> uninstall: Uninstalls the application from a running emulator or</echo> <echo> device.</echo> </target> 

复制这一个到你的build.xml,它应该工作。

这不能解决问题,但它会让Eclipse停下来。 转到Window > Preferences > Ant > Editor ,然后selectProblems选项卡。 检查ignore all buildfile problems框。

我有同样的问题,我所做的是在日食

 Window->Preferences->Ant->Editor->Problems 

并单击

 Ignore All Build File Problems. 

这不是一个真正的答案,但是对于它的价值,我可以通过从工作区中删除eclipse项目,删除。*在我的项目目录中并重新开始,从而使问题消失。 Eclipse FTW!

如果你的build.xml有自己的帮助目标,而不是依赖于导入的目标,那么你需要把这个目标放在行之前

 <taskdef name="setup" classname="com.android.ant.SetupTask" classpathref="android.antlibs" />