我已经在OS X 10.8.2上使用Eclipse 4.2 (Juno release 20120920-0800)工作了几周,为Android 3.0及以上版本构建应用程序。我有一台带SSD的四核i7 MacBook Pro,所以性能不是问题。一切都很好。

在某种程度上,我导入了一个需要Android 2.2的Android项目,所以我使用Android SDK管理器安装了它(v.21)。从那时起,使用Eclipse的工作就一直在进行。首先,它将在右下角的状态消息中打印以下内容:

Android SDK内容加载器:(0%)

这需要两分钟左右。具体的消息是“检查项目”,当它这样做的时候,所有的Android项目都以红色突出显示,因为Android资源没有找到。然后,它继续:

Android 2.2加载数据(100%)

这个要放几分钟。然后它继续对我安装的Android 3.1和其他SDK版本进行同样的操作。它基本上挂起每当第一次自动完成踢(例如键入系统后)或当我访问Android首选项之前,它已经加载。

这是我的Android SDK的状态:

我已经尝试过的:

重新安装Android SDK(通过Homebrew),从而完全删除/usr/local/Cellar/android-sdk。 重新安装AVD插件(v.21)。

我能做些什么来找出这些问题的根源,并恢复到良好和干净的状态?


当前回答

我准备了一个小脚本,让它很容易处理这个反复出现的非常烦人的问题。打开终端,然后:

open ~/.bash_profile

在文件末尾粘贴这个函数:

function eclipse-clean() {
  echo "removing ddms.cfg file" 
    cd ~/.android/
    rm ddms.cfg 
  echo "removing cache"
    cd cache/
    rm -rf *
  echo "done! you can open eclipse now."
}

那你现在要做的就是

source ~/.bash_profile

当你卡在终端窗口时,输入:

eclipse-clean

其他回答

我在这里使用了一些其他答案来解决这个问题,但我最近又遇到了这个问题,没有一个有效。我不想重新安装或删除我的工作区,所以我终于找到了一个可以帮助其他人的工作空间。删除文件:

/workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi

如果你愿意,你可以先做个备份。它存储了您的工作台设置(透视图状态、菜单选项的文件路径等),但是eclipse加载了,我不需要像一些回答建议那样重新安装任何东西。我在任何地方都没见过。

我已经尝试了所有的解决方案,但我没有得到解决方案。之后,我已经断开了互联网并删除了。android文件夹中的ddms.cfg ->打开eclipse ->对话框的统计数据发送到谷歌?->选择NO,最终为我工作。

编辑:

我已经尝试了eclipse -clean命令在命令提示符,这也为我工作。

注意:对于eclipse -clean命令,首先您必须选择路径 您所放置的Eclipse文件夹。

谢谢。

这就是我重新开始工作的原因:

解决了android-support-v4.jar不同版本的问题。如果项目是相关的,它们就会出现不匹配的问题。

第二个不那么明显:我从shell中重新启动IDE,提供$ANDROID_SDK_HOME -环境变量。 这让我更进一步,但ide挂在不同的位置。 提供$ANDROID_HOME最终让我再次走上正轨。

顺便说一句:在这个过程之后,在接下来的IDE启动中就没有必要再次设置环境变量了。

这是我找到的正确的解决方案:

确保eclipse不是活动的。如果是活动的,则从任务管理器的processes选项卡删除eclipse 在Windows或Linux/OS X上打开%USERPROFILE%/(你可以从桌面上找到这个文件夹) 转到。android文件夹(这可能是一个隐藏文件夹) 删除位于。android文件夹中的文件夹缓存 删除。android文件夹下的ddms.cfg文件 启动Eclipse

希望这对你有用。

我做了这个批处理文件来完成slhck对Windows系统的回答所解释的任务:

@echo off
set ECLIPSEFOLDER=%CD%
cd /D %USERPROFILE%/.android
rd /s /q cache
del ddms.cfg /f
cd /D %ECLIPSEFOLDER%
eclipse -clean -refresh
exit

我在博客上的这篇文章中解释了这种方法。