使用ActionBarSherlock时无法解析R错误

时间:2012-01-09 10:53:35

标签: android android-actionbar actionbarsherlock

我正在尝试使用Jake Wharton的ActionBarSherlock来支持Android项目中的动作栏,一直到1.6

我开始使用video上提供的faq's page,但在视频中的2:25之后,当他导入项目时,我得到了一大堆> 200编译器错误,主要处理一些@override的东西。我通过以下方式解决了大部分错误:

右键单击项目> properties> Java Compiler>编译器合规性级别:并将其设置为1.6。

这迫使重建,突然间我只有54个错误。其中大多数是“R无法解析为变量”,但最后5个都是“导入com.actionbarsherlock.R无法解析”。我已经四处寻找,解决这个问题的常用方法如下:

确保您的资源没有错误” - 我检查了/ res文件夹中没有任何问题

确保您没有导入android.R ” - 我不是。我有:

import com.actionbarsherlock.R

我想到包名可能不正确,但事实并非如此。

只需清理项目” - 已多次完成此操作

确保eclipse能够生成R文件” - 它可以在我刚刚制作的空白测试项目中

还有一些针对ActionBarSherlock更具体的修补程序:

确保您的targetSDK为11或更高” - 设置为13

确保项目是一个图书馆项目” - 它是

如何摆脱这些错误?

6 个答案:

答案 0 :(得分:11)

发现它!

而不是:

项目>清洁>选择下面的清洁项目

你必须使用

项目>清洁>清理所有项目

即使其他项目都与图书馆项目无关。这解决了问题

答案 1 :(得分:8)

我的错,ABS项目和我的项目有不同的API级别。 ABS是4.0.3级,我的项目是3.0。将我的项目的API级别更改为4.0.3后,所有错误都已修复。这个post帮助我找到了解决方案。

答案 2 :(得分:2)

还可能需要确保为正确的包名创建了nen / R.java文件:
在AndroidManifest.xml上,确保manifest标记,package属性设置为:

  

“com.actionbarsherlock”

答案 3 :(得分:1)

我没有导入单个文件夹actionbarsherlock,而是选择了父文件夹,并在“导入项目”窗口中取消选中除了actionbarsherlock之外的所有内容。

enter image description here

答案 4 :(得分:0)

我的不同之处:

我有64位操作系统(linux mint),我必须安装32位库:

sudo apt-get install ia32-libs

在此之后,只需清理所有内容并构建一个新项目即可。

答案 5 :(得分:0)

  • 像往常一样R文件没有创建,你应该先尝试:
  

项目>清洁>清理所有项目

  • 如果这没有帮助,请确保您设置了足够高的SDK版本,我认为ActionBarSherlock应该至少为14或更高版本:

enter image description here

  • 最后,转到Android SDK Manager并检查是否有更新Android SDK平台工具和Android SDK Build-tools到版本17.如果是,请更新它并 RESTART eclipse