导入actionbarsherlock时无法解析import .R

时间:2013-04-14 19:33:17

标签: android actionbarsherlock

我希望能够在我的android项目(2.3)中使用操作栏,所以我试图导入actionbarsherlock库。但是,我遇到了问题......

我导入了库,编辑了我的android项目的构建路径以包含库,还从ABS / libs目录中删除了android-support-v4 jar并将我的项目的android-support-v4复制到了ABS / libs目录解决了jar不匹配问题。但是,既然我已经做了所有这些事情,我的项目无法在任何地方解决myproject.R。我在几乎所有的.java文件中导入myproject.R,它们都有相同的错误(“导入com.myproject.R无法解析”)。另外,当我清理项目时,我在控制台窗口中出现了很多错误:

他们都遵循:

  

错误:检索项目的父项时出错:找不到与给定名称“android:Theme.Holo.Light”匹配的资源。

据我所知,R是存储所有布局信息的地方,所以我不知道为什么这甚至是一个问题......

我几天来一直在处理这个错误,我非常沮丧,最后决定把它带到堆栈溢出。谢谢大家的帮助!

3 个答案:

答案 0 :(得分:4)

ActionBarSherlock是一个图书馆项目

所以在日食中导入库项目

enter image description here

它是一个图书馆项目。要检查右键单击您的库项目。转到属性。

选择安卓。您将看到Is Library已检查,如下图所示。

enter image description here

将您的图书馆项目添加到您的Android项目中。

右键单击您的Android项目。转到属性。选择android。单击“添加”按钮将库添加到项目中。您可以在下面的图片中看到绿色勾号。

enter image description here

确保您的libs文件夹中有一份andorid-suuport-v4.jar副本。

不要导入R。*;

你会看到两个R.java一个用于库项目,一个用于你的android项目。 清洁和建造。

enter image description here

答案 1 :(得分:0)

  

编辑了我的android项目的构建路径以包含库

切勿手动修改Android项目的构建路径

ActionBarSherlock是一个Android库项目。您需要从主应用程序项目add a reference到ActionBarSherlock的库项目,并撤消手动更改到构建路径。


<强>更新

问题的后半部分是您的构建目标设置得太低。构建目标控制应用程序可以使用的Android类,资源等版本,如果使用ActionBarSherlock,则需要将其设置为API级别14或更高版本。

  

如果我让我的项目构建目标4.0,我还可以在运行Android 2.3的模拟器/手机上运行吗?

是。将android:minSdkVersion设置为10或更低。如果您不小心尝试使用高于minSdkVersion的类,方法等,Eclipse(通过Lint)会对您大喊大叫,即使它们因您的构建目标而合法。

答案 2 :(得分:0)

我找到了 如果Project的AndroidManifest.xml中的minSDKVersion低于库, 它还使项目成为错误来构建R.java