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

Posted

技术标签:

【中文标题】Eclipse / Android:“在项目上运行构建器\'Android Pre Compiler\'时出错......”【英文标题】:Eclipse / Android : "Errors running builder 'Android Pre Compiler' on project..."Eclipse / Android:“在项目上运行构建器'Android Pre Compiler'时出错......” 【发布时间】:2013-01-05 11:23:20 【问题描述】:

尝试在一个我几个月没有工作过的 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 个

我已经尝试了一些事情,比如开始一个全新的工作区,安装这个“颠覆 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 cocoa -arch x86_64 -data /Projects/_EclipseWorkspace -keyring /Users/onemick/.eclipse_keyring -showlocation

另一个编辑

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

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

【问题讨论】:

你的项目构建目标是什么? Android 4.0.3(API 级别 15) code.google.com/p/android/issues/detail?id=42051, ***.com/q/9617830/1012284 是的,我尝试了此问题中建议的所有不同解决方案,但都没有解决我的问题。我问了这个单独的问题,因为我只有“Android Pre Compiler”问题。我什至不明白这个“问题”是什么意思。 【参考方案1】:

对于那些不想安装 ADT 预览版的人,有一个解决方法描述了here。

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

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

【讨论】:

请记住,您需要在此更改后关闭并重新打开项目。 请注意,ADT 21.1 已发布,并且已修复此问题,因此您只需更新工具即可。 请帮我摆脱这个错误,我发现它对你们所有人都有效,但我仍然遇到同样的错误 @user1106888 也许您还有另一个名称中带有点的文件夹。或者一些没有扩展名的文件,它们也可能产生这个错误。 类似/相关问题:***.com/questions/14188650/…【参考方案2】:

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

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

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

解决方案是从 Google 安装 21.1 preview 版本的 ADT 工具和 SDK 管理器。清晰的说明可以found here和你可以阅读所有背景添加你的声音到angry mob of developers here。

【讨论】:

这确实解决了问题,请务必同时更新 SDK ADT。 @MickByrne 谢谢。显然,我必须安装 ADT 和 SDK 的“预览”通道来解决 Eclipse Juno 的问题。谢谢。 如果安装颠覆性插件后问题没有消失,试试这个:从工作区中删除项目,删除'bin'和'gen'文件夹并确保它们被排除在svn中,然后将项目重新添加到工作区(文件 > 新建 > 项目,来自现有代码的 Android 项目)。如果它现在命名不正确,请右键单击它 > 重构 > 重命名。这为我解决了这个问题。 21.1 已经发布,如果您不喜欢预览版,可以升级到它。 mar13 不再是预览版。只需转到 SDK Manager 并升级。【参考方案3】:

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

【讨论】:

【参考方案4】:

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

【讨论】:

谢谢,这完全有效。我作为库使用的项目导入充满了错误,所以我关闭了它(也是因为我当时没有使用它的功能)。因此,由于我不需要它,我将它与我的库断开连接(通过属性 -> Android -> 选择库然后单击删除)并且原始项目错误消失了。耶!【参考方案5】:

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

【讨论】:

【参考方案6】:

我遇到这个错误,并删除所有 .svn 文件, 当进程 55% 时,我的项目无法运行

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

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

【讨论】:

【参考方案7】:

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

【讨论】:

【参考方案8】:

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

【讨论】:

【参考方案9】:

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

构建错误

我添加存储库位置:

建设成功!

【讨论】:

【参考方案10】:

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

【讨论】:

【参考方案11】:

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

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

【讨论】:

以上是关于Eclipse / Android:“在项目上运行构建器'Android Pre Compiler'时出错......”的主要内容,如果未能解决你的问题,请参考以下文章

如何在eclipse中开发android程序

android studio 怎么导入eclipse的文件

android eclipse如何查看耗时

怎样在eclipse中搭建android开发环境

Eclipse - 无法查看 Android Eclipse 插件

android studio 怎么打开eclipse