Eclipse/Android:;运行生成器时出错';Android预编译器&x27;“关于项目……”;

Eclipse/Android:;运行生成器时出错';Android预编译器&x27;“关于项目……”;,android,eclipse,nullpointerexception,adt,Android,Eclipse,Nullpointerexception,Adt,尝试在一个Android项目上做一些工作,我已经好几个月没有做过了,但每次我尝试构建该项目时,Eclipse都会弹出一个对话框说: 'Building workspace' has encountered a problem Errors occurred during the build. Errors running builder 'Android Pre Compiler' on project 'XXX' java.lang.NullPointerException 我在Mac上运

尝试在一个Android项目上做一些工作,我已经好几个月没有做过了,但每次我尝试构建该项目时,Eclipse都会弹出一个对话框说:

'Building workspace' has encountered a problem

Errors occurred during the build.
Errors running builder 'Android Pre Compiler' on project 'XXX'
java.lang.NullPointerException
我在Mac上运行Eclipse,Android项目构建目标为4.0.3(API级别15),我已经安装了以下版本的东西

  • Eclipse-3.7.2
  • Android开发工具-21.0.1
  • Android SDK-最多17个
我已经尝试过一些事情,比如启动一个全新的工作区,安装这个“颠覆性的SVN JDT忽略扩展”,升级所有内容,确保我的源文件夹(或其他任何地方)中没有任何没有扩展名的文件,确保我的Java编译器为1.6,然后关闭并再次打开

编辑

以下是Eclipse错误日志中针对此问题的堆栈跟踪:

java.lang.NullPointerException
at com.android.ide.eclipse.adt.internal.build.builders.PreCompilerBuilder.build(PreCompilerBuilder.java:673)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:513)
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:432)
at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:305)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
和会话数据:

eclipse.buildId=M20120208-0800 java.version=1.6.0_37 java.vendor=Apple Inc. BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US Framework arguments: -keyring /Users/onemick/.eclipse_keyring -showlocation Command-line arguments: -os macosx -ws cocoa -arch x86_64 -data /Projects/_EclipseWorkspace -keyring /Users/onemick/.eclipse_keyring -showlocation eclipse.buildId=M20120208-0800 java.version=1.6.0_37 供应商=苹果公司。 引导加载程序常量:OS=macosx,ARCH=x86_64,WS=cocoa,NL=en_US 框架参数:-keyring/Users/onemick/.eclipse\u keyring-showlocation 命令行参数:-os macosx-ws cocoa-arch x86\u 64-data/Projects/\u EclipseWorkspace-keyring/Users/onemick/.eclipse\u keyring-showlocation 另一次编辑

好的,更多的搜索让我想到了,这表明这个问题肯定与我的项目中没有扩展名的文件有关-但是我不知道是哪个文件,而且在我的一生中,我在该项目中找不到任何文件


如果有人能解释这个错误的含义,以及我如何获得更多关于潜在错误的调试信息,我甚至会很高兴。

我总是讨厌回答自己的问题,但这是一个真正的解决方案

ADT工具的21.0.1版本有一个bug,如果您有任何没有扩展名的文件,它会阻止项目生成。对于使用subversion的用户(如我)来说,这是一个特别的问题,因为他们的文件扩展名较少

一个推荐的解决方案是安装这些“subversive”Eclipse插件(帮助>安装新软件>使用您的Eclipse版本站点>扩展“协作”>选择“subversive SVN JDT Ignore Extensions”和“subversive SVN Team Provider”),但这对我不起作用(我在Indigo上,也许在Juno上它可以工作)


解决方案是从Google安装21.1预览版的ADT工具和SDK管理器。可以提供清晰的说明,您可以阅读所有背景信息并将您的声音添加到。对于不想安装预览版ADT的用户,这里介绍了一种解决方法

  • 在Eclipse中打开项目的属性,然后打开资源->资源过滤器
  • 单击“添加…”按钮->选中“排除所有”、“文件和文件夹”、“所有子项”。在文本输入框中输入“.svn”(不带引号)
  • 重新启动Eclipse

  • 我在.git文件夹上也遇到了同样的问题,它工作起来很有魅力。

    另一个案例:我关闭了当前项目(显示了构建错误消息),放弃了正在使用的SVN存储库,重新编译:

    构建错误

    我添加存储库位置:


    建筑好了

    我遇到此错误,并删除了所有.svn文件, 我的项目无法工作,当进程达到55%

    我发现在我的项目中这是一个空的res dir,我不知道它是如何工作的,但是当删除空的res dir时,我的项目工作


    因此,您应该检查项目中的所有文件。

    我最近遇到了这个问题,上面给出的解决方案对我不起作用。我没有任何没有扩展名的文件。碰巧,在从现有代码添加新项目之后,出现了一个安装错误,似乎把eclipse的状态搞砸了。在此之后,我试图清理或构建的工作区中的任何项目都会出现带有java.lang.NullPointerException的Android预编译器错误


    我发现由于某种原因,/res目录中的main.xml文件找不到,尽管该文件非常多。解决方案是在EclipseJava编辑面板中关闭所有打开的文件透视图,关闭所有项目,然后打开项目并打开主xml文件。在我这样做之后,预编译问题就消失了。

    我刚刚重新启动了Eclipse,问题就解决了。

    我也面临着同样的问题,并且浪费了很多时间来解决这个问题,而且上面给出的解决方案对我也不起作用。我通过转到Eclipse->Help->Check for update来解决这个问题,然后在更新完成后重新启动Eclipse。

    我也遇到了同样的问题,我意识到我关闭了另一个与我正在构建的项目相连接的项目。一旦我打开它,一切都消失了。

    如果您意外地关闭了运行项目所必需的库项目,那么只需在eclipse中打开它们即可。此错误必须消失。

    可能是您已关闭“appcompact\u v7”库以创建新文件。这通过打开它解决了我的问题

    为了解决这个问题,我需要以管理员身份运行eclipse

    您的项目构建目标是什么?Android 4.0.3(API级别15),是的,我尝试了本期中建议的所有不同解决方案,但没有一个解决了我的问题。我问了这个单独的问题,因为我只有“Android预编译器”的问题。我甚至不明白这个“问题”是什么意思。这确实解决了问题,请务必同时更新SDK和ADT。@MickByrne谢谢。显然,为了解决EclipseJuno的问题,我不得不安装ADT和SDK的“预览”频道。谢谢。如果在安装subversive插件后问题仍然存在,请尝试以下操作:从工作区中删除项目,删除“bin”和“gen”文件夹,并确保它们在svn中被排除,然后将项目重新添加到工作区(文件>新建>项目,现有代码中的Android项目)。如果它现在被命名为