Eclipse / Android:“在项目上运行构建器'Android Pre Compiler'时出错...”


97

尝试在几个月未使用的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 =苹果公司
BootLoader常数:OS = macosx,ARCH = x86_64,WS = cocoa,NL = en_US
框架参数:-keyring /Users/onemick/.eclipse_keyring -showlocation
命令行参数:-os macosx -ws可可-arch x86_64 -data / Projects / _EclipseWorkspace -keyring /Users/onemick/.eclipse_keyring -showlocation

另一个编辑

好的,因此,更多的搜索将我带到了该页面,这表明该问题与项目中没有扩展名的文件的存在有关-但是我不知道哪个文件以及我的生命该项目中的任何项目!

如果有人可以解释此错误的含义以及如何获得有关该基本错误的更多调试信息,我什至会很高兴。


1
您的项目构建目标是什么?
Padma Kumar

Android 4.0.3(API等级15)
Mick Byrne 2013年


是的,我尝试了本期中建议的所有不同解决方案,但没有一个解决了我的问题。我问了这个单独的问题,因为我只有“ Android Pre Compiler”问题。我什至不明白这个“问题”是什么意思。
米克·伯恩

Answers:


107

对于那些你不希望安装ADT的预览版是谁,有解决方法描述在这里

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

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


请记住,更改后需要关闭并重新打开项目。
Tommie 2013年

请注意,ADT 21.1已发布,并且已修复,因此您只需更新工具即可。
Vadim Kotov

请帮助我摆脱这个错误,我看到它对所有人都有效,但是我仍然遇到相同的错误
user1106888 2014年

@ user1106888也许您在名称中有另一个带有点的文件夹。或某些没有扩展名的文件,它们也可能产生此错误。
Vadim Kotov


84

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

如果您有任何没有扩展名的文件,则ADT工具的21.0.1版本存在一个错误,该错误会阻止项目构建。对于使用具有无扩展名文件的Subversion的用户(如我)而言,这是一个特殊的问题。

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

解决方案是从Google 安装21.1 预览版的ADT工具和SDK管理器。清晰的说明可以在这里找到,您可以阅读所有背景知识,在此处激怒开发人员愤怒


4
这确实解决了问题,请确保同时更新SDK ADT。
Michael Marsella

1
@MickByrne谢谢。显然,我必须安装ADT和SDK的“预览”通道来解决Eclipse Juno的问题。谢谢。
Aleks G

3
如果安装颠覆性插件后问题仍然存在,请尝试以下操作:从工作区中删除项目,删除“ bin”和“ gen”文件夹,并确保将它们排除在svn中,然后将项目重新添加到工作空间(文件>新建>项目,现有代码中的Android项目)。如果现在命名不正确,请右键单击它>重构>重命名。这为我解决了这个问题。
2013年

3
21.1已发布,因此如果您不喜欢预览,可以升级到它。
Xavier Ducrohet

1
mar13不再是预览。只需转到SDK Manager并进行升级。
Tony gil 2013年

15

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


9

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


谢谢,这完全有效。我用作库的项目导入充满了错误,所以我关闭了它(也是因为当时我没有使用它的功能)。因此,由于我不需要它,所以将其与我的库断开连接(通过“属性”->“ Android”->“选择库”,然后单击“删除”),原始项目错误消失了。好极了!
Azurespot 2014年


1

我遇到此错误,并删除了所有.svn文件,我的项目无法正常工作,处理55%

而且我发现这是我项目中的一个空res目录,我不知道它是怎么来的,但是当删除该空res目录时,我的项目就可以了,

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


1

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



0

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

建筑错误

我添加存储库位置:

楼好!



-1

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.