在Eclipse中解析Android SDK内容并初始化Java工具时出现错误

13
每次打开Eclipse,我都会收到以下错误消息: Android SDK内容加载程序: parseSdkContent 失败 java.lang.NullPointerException 初始化Java工具 在 "Initializing Java Tooling" 过程中出现了内部错误。java.lang.NullPointerException 正在为Android 2.2加载数据 解析android-8的数据失败 java.lang.NullPointerException 正在为Android 2.3.3加载数据 解析android-10的数据失败 java.lang.NullPointerException 正在加载Google APIs (Google Inc.) 的数据。 解析Google Inc.:Google APIs:8 的数据失败 java.lang.NullPointerException 查看屏幕截图链接: http://i.stack.imgur.com/lhhQQ.png (我正在使用OS X Lion和Eclipse Helios)。
首先我阅读了一些帖子,说是.android文件夹中的AVD.ini文件引起了问题。我试着按照Android SDK内容加载程序失败 NullPointerException中建议的那样删除整个.android文件夹。但是这没有解决我的问题。
我尝试删除整个Android SDK文件夹,重新下载并通过它安装了几个Android版本。仍然是同样的错误消息...
为确保我没有任何旧插件或其他问题,我卸载了Eclipse,重新下载并再次安装了Android插件。(因此插件已经是最新的)。
当我进入我的一个Android项目时,我会在使用R文件访问资源的位置上收到错误消息。常规Java项目工作正常,但所有Android项目都会得到小红框和白叉号。我昨天以来一直在寻找解决这个问题的办法,但现在我完全不知所措,希望能得到任何帮助!

1
我在Windows上遇到了同样的问题。我认为这与最新的SDK工具版本(19)有关。我不认为有一种简单的方式(甚至是困难的方式)可以还原SDK工具版本。虽然我可能错了。 - Greg McGowan
嗨。我尝试了这个方法,它有效 - https://dev59.com/AWkw5IYBdhLWcg3w1eAm#9619011 - Greg McGowan
我现在也面临着同样的问题。已经过去两天了,仍然没有结果。 - tejas
有人在运行 Lion 的 Mac 上有解决方法吗? - chucky
这个方法适用于我在运行Lion的MacBook Air上:http://blog.timmattison.com/archives/2009/11/10/how-to-fix-a-broken-eclipse-environment-without-starting-completely-from-scratch/ - chucky
你解决了这个问题吗?我目前正在面临这个问题。 - briankip
16个回答

9

关闭所有打开的项目并退出Eclipse。现在您可以打开Eclipse而不会出现错误。逐个打开您的项目以找出哪个项目引起了问题。这很可能是因为您在AVD管理器中删除了设备配置文件。


1
我遇到了一个循环库依赖的问题,一直无法解决。你提供的建议——关闭所有项目,帮助了我。之后,我只是将最后添加到项目中的库删除了。 - j2emanue

2

不要删除所有的完整.metadata文件夹

  • 备份.metadata文件夹
  • 仅删除.metadata/.plugins/org.eclipse.core.resources/.project文件夹
  • 重新启动eclipse

观察:项目文件夹已创建

另外 - 如果您正在使用svn/git/hg代码库链接,则会被破坏,因此需要恢复

  • 关闭eclipse
  • 从备份中复制相关项目,与.metadata/.plugins/org.eclipse.core.resources/.project中的当前项目合并
  • 重新启动eclipse

缺点 - 可能会出现偶发性失败错误(同步或其他)- 无害

回到原来状态


即使在备份复制之前也没有为我解决问题,重启后错误仍然存在。 - Jeff Axelrod
这对我来说并不完全有效。它有点起作用,但在我的工作区其他地方会导致错误。最终我删除了我的项目并重新检出,这样做是有效的。 - Christine
错误(err),在某种程度上起作用。 我不得不从旧项目中复制.project和.properties文件才能使其工作。 - Christine

2
我今天早上也遇到了完全相同的问题,这是一个与工作区相关的问题。 解决方案1
我查看了我的.metadata文件并阅读了.bak_number.log文件。一些布局无法解析,我的项目与文件系统不同步。 所以我删除了所有的.bak_number.log文件。重新启动Eclipse,整个工作区应该能够像之前一样正常工作。 解决方案2
但是,如果不是由于与文件系统不同步导致的问题,请更改工作区,然后从先前的工作区导入所有eclipse项目。 由于project.properties文件,依赖关系仍然保留。
PS:我应该回到IntelliJ :)

1
  1. 首先关闭你的Eclipse

  2. 进入你的工作区并将.metadata重命名为tushmetadata,然后进入tushmetadata-.plugins->org.eclipse.core.runtime->.settings并复制其中的所有文件。

  3. 现在打开Eclipse并进入你的工作区,你会看到新生成的.metadata文件夹,在其中进入.plugins->org.eclipse.core.runtime->.settings并粘贴,不要覆盖任何文件。

  4. 尝试创建一个“Hello World”项目并运行它。


0
尝试从您的Android工作区文件夹中删除.metadata文件夹。.Metadata文件夹包含Eclipse的所有配置文件。这对我有用。

0
对我来说,NullPointerException问题的源头是一个主机端的Junit测试项目,它引用(并测试)来自Android项目的代码。它没有project.properties文件。虽然它不是一个Android项目,但由于某种原因,较新版本的SDK希望在那里找到该文件。为了解决这个问题,我只需将一个Android项目中的project.properties文件复制到主机单元测试项目中即可。

0

这很奇怪。 在我的情况下,当我进行子版本更新时,我遇到了这个问题。原因是我的project.properties文件损坏了(由于子版本冲突)。 我只是纠正了文件,问题得到了解决。


0
希望这对某人有用并节省他/她的时间:我的同事遇到了同样的问题,我们几乎尝试了这里提到的所有方法,但都没有成功。最后,我们在清单文件中更改了Android SDK版本,然后它就起作用了。

0

这个解决方案对我很有效。

关闭Eclipse并删除工作区文件夹中的所有.markers。

重新启动Eclipse(有时我不得不重启两次,第一次它卡住了,但第二次却无缘无故地起作用)。

当然,备份它们总是安全的。


0

如果您正在使用SVN或GIT,请检查项目文件project.properties是否存在冲突。

有时候这可能会导致项目无法打开。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接