Eclipse / Android:“错误运行构建器'Android Pre Compiler'项目......”

时间:2013-01-22 09:14:58

标签: 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

我在带有Android项目构建目标4.0.3(API级别15)的Mac上运行Eclipse,我安装了以下版本的东西

  • Eclipse - 3.7.2
  • Android开发工具 - 21.0.1
  • Android SDK - 最多17个

我已经尝试过一些东西,比如启动一个全新的工作区,安装这个“Subversive SVN JDT Ignore Extensions”,升级所有内容,确保我的源文件夹中没有任何扩展名的文件(或任何地方)确保我的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

另一个编辑

好的,所以更多的搜索引导我this page,这表明这个问题肯定与我的项目中没有扩展名的文件的存在有关 - 但我不知道哪个文件和生命我在那个项目中找不到任何东西!

如果有人能够解释这个错误意味着什么以及如何获得有关潜在错误的更多调试信息,我甚至会感到高兴。

11 个答案:

答案 0 :(得分:107)

对于那些不想安装ADT预览版的人,有一种解决方法here

  
      
  1. 在Eclipse中打开项目的属性,然后是资源 - >资源过滤器。
  2.   
  3. 点击“添加...”按钮 - >选中“全部排除”,“文件和文件夹”,“所有孩子”。在文本输入框中输入“.svn”(不带引号)。
  4.   
  5. 重启Eclipse。
  6.   

我对 .git 文件夹有同样的问题,它就像一个魅力。

答案 1 :(得分:84)

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

如果您有任何没有扩展名的文件,那么ADT工具的21.0.1版本会出现一个阻止项目构建的错误。对于使用带有无扩展文件的subversion的用户(比如我)来说,这是一个特殊的问题。

一个推荐的解决方案是安装这些“颠覆性”Eclipse插件(帮助>安装新软件>使用您的Eclipse版本网站>展开'协作'>选择'颠覆性SVN JDT忽略扩展'和'颠覆性SVN团队提供者')但这对我不起作用(我在Indigo,也许在Juno上工作)。

解决方案是从Google安装ADT工具和SDK管理器的21.1 预览版本。明确的说明可以是found here,您可以阅读所有背景信息,将您的语音添加到angry mob of developers here

答案 2 :(得分:15)

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

答案 3 :(得分:9)

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

答案 4 :(得分:2)

可能是您有关闭'appcompact_v7'库来创建新文件。这通过打开它解决了我的问题

答案 5 :(得分:1)

我遇到此错误,并删除所有.svn文件, 过程55%

时,我的项目无法正常工作

我发现这是我项目中的一个空的res目录,我不知道它是怎么回事,但是当删除空的res目录时,我的项目工作了,

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

答案 6 :(得分:1)

我也面临同样的问题,浪费了很多时间来解决这个问题,上面给出的解决方案对我来说也不起作用。我通过访问Eclipse解决了这个问题 - >帮助 - >检查更新,然后在更新完成后重新启动eclipse。

答案 7 :(得分:1)

如果您不小心关闭了运行项目所必需的库项目,那么只需在eclipse中打开它们即可。这个错误必须消失。

答案 8 :(得分:0)

另一种情况:我关闭了当前项目(带有构建错误消息),丢弃了正在使用的SVN存储库,重新编译:

构建错误

我添加了存储库位置:

建设好!

答案 9 :(得分:0)

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

答案 10 :(得分:-1)

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

我发现/ res目录中的main.xml文件由于某种原因没有找到,即使文件非常多。解决方案是关闭Eclipse Java Edit Panel中的所有打开文件透视图,关闭所有项目,然后打开项目并打开主xml文件。在我这样做之后,预编译器问题就消失了。