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

我正在尝试更改我的Eclipse项目,使其向后兼容Android 2.1。 我按照说明从这里设置了支持库,但在我将Library项目附加到我的项目之后,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'. 

任何想法?

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

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

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

单击您的项目,选择属性,选择Andoid并对库执行相同操作以确保两者具有相同的项目构建目标。 不要触摸显示sdk任何东西,因为这将导致错误重新开始

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

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

  • 右键单击您的项目并选择Properties – > Android,从您的引用中删除android-support-v7-appcompat ,然后单击Ok。

  • 清理您的项目

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

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

  • 清理您的项目

我是Android开发的新手,但我find了这个解决方案:

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

  2. 根据developers.android.com提供的指南创建支持库项目android-support-v7-appcompat( http://developer.android.com/tools/support-library/setup.html#using-apis

  3. 将支持库添加到项目中(右键单击项目,属性,android,在库框架中)。 请注意,R.java文件已经消失。

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

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

  6. 运行您的项目。

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

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

只需单击项目> Android>修复项目属性。

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

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

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