设置android-support-v7-appcompat之后缺少R.java

时间:2013-09-01 22:10:14

标签: android android-support-library r.java-file android-appcompat

我正在尝试更改我的Eclipse项目,使其向后兼容Android 2.1。 我按照说明从here设置了支持库,但在我将库项目附加到我的项目之后,gen目录中的R.java消失了。

另外我在控制台中遇到了一些错误,例如:

[2013-09-02 00:08:26 - gitarshopAndroidClient] /usr/local/external/android-sdk-linux/extras/android/support/v7/appcompat/res/values-v14/styles_base.xml:24: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Holo.ActionBar'.
[2013-09-02 00:08:26 - gitarshopAndroidClient] /usr/local/external/android-sdk-linux/extras/android/support/v7/appcompat/res/values-v14/styles_base.xml:28: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Holo.Light.ActionBar'.
[2013-09-02 00:08:26 - gitarshopAndroidClient] /usr/local/external/android-sdk-linux/extras/android/support/v7/appcompat/res/values-v14/styles_base.xml:32: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Holo.ActionBar.Solid'.

有什么想法吗?

7 个答案:

答案 0 :(得分:20)

好的,我想出了问题所在。

我的项目的构建目标是Android 2.1(API 7)。 我不得不至少针对Android 4.0(API 14)去除警告信息。

您的应用程序仍将在Android 2.1设备上运行!这是我错过了错误设置目标的原因。

答案 1 :(得分:4)

单击您的项目,选择属性,选择Andoid并对库执行相同操作以确保两者具有相同的项目构建目标。请勿触摸显示sdk的任何内容,因为这会导致错误重新出现

答案 2 :(得分:3)

对我有用的是做以下事情:

  • 右键单击android-support-v7-appcompat项目并选择 删除(只需将其从工作区中删除,不要从磁盘中删除)。

  • 右键单击您的项目,然后选择属性 - > Android,和 从引用中删除android-support-v7-appcompat,然后单击“确定”。

  • 清理项目

  • 然后选择文件 - >导入并重新导入android-support-v7-appcompat

  • 然后返回属性 - > Android并再次添加引用。

  • 清理项目

答案 3 :(得分:1)

我对Android开发有点新意,但我找到了这个解决方案:

  1. 如果您想要兼容性,请首先确保在“New Android Application”Eclipse窗口中将MinimunRequiredSDK,TargetSDK和CompileWith设置为API7:Android 2.1(Eclair)来创建项目。

    < / LI>
  2. 根据developers.android.com(http://developer.android.com/tools/support-library/setup.html#using-apis

  3. 提供的指南,创建支持库项目android-support-v7-appcompat
  4. 将支持库添加到项目中(右键单击项目,属性,android,在库框架中)。请注意,R.java文件已经消失。

  5. 转到项目的project.properties文件,将名为target的属性更改为“Google Inc.:Google APIs:14”。请勿在AndroidManifest.xml文件中更改此属性。

  6. 清理您的项目。错误消失了。

  7. 运行您的项目。

  8. 如果您未在真实设备上运行应用,则始终会要求您选择兼容设备。选择一个运行Android 2.1并享受的。

  9. OBS:由于此解决方法,如果您正在使用虚拟设备,将始终显示恼人的消息“找不到兼容的目标”。您可以在Android设备选择器窗口中回答否并选择设备。强烈建议选择运行Android 2.1的那个

答案 4 :(得分:1)

点击即可 项目&gt; Android&gt;修复项目属性。

它适用于Eclipse Kepler和最新的ADB版本!

答案 5 :(得分:0)

您需要在项目中的support v7项目的libs文件夹中添加jar(支持v7),并将支持版本7作为库项目添加到项目中

答案 6 :(得分:0)

你应该从android私有库中删除android-support-v4.jar 因为它已经在android-support-v7-appcompat