10

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

任何想法?

4

7 回答 7

20

好的,我弄清楚了问题所在。

我的项目的构建目标是 Android 2.1 (API 7)。我必须至少以 Android 4.0 (API 14) 为目标才能摆脱警告消息。

您的应用程序仍可在 Android 2.1 设备上运行!当我错误地设置目标时,这就是我错过的。

于 2013-09-03T19:39:59.973 回答
4

单击您的项目,选择属性,选择 Andoid 并对库执行相同操作,以确保两者具有相同的项目构建目标。不要触摸 tha manifest sdk 任何东西,因为这会导致错误再次出现

于 2013-11-23T14:47:25.910 回答
3

对我有用的是执行以下操作:

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

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

  • 清理你的项目

  • 然后选择 File -> Import and re-import android-support-v7-appcompat

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

  • 清理你的项目

于 2013-11-02T00:03:39.683 回答
1

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

  1. 如果您想要兼容性,首先确保在“新 Android 应用程序”Eclipse 的窗口中将 MinimunRequiredSDK、TargetSDK 和 CompileWith 设置为 API7:Android 2.1(Eclair) 创建您的项目。

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

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

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

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

  6. 运行你的项目。

  7. 如果您没有在真实设备上运行您的应用程序,系统将始终要求您选择兼容的设备。选择一个运行 Android 2.1 并享受。

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

于 2013-11-06T13:33:50.120 回答
1

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

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

于 2013-12-22T12:43:50.753 回答
0

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

于 2015-02-07T05:35:38.120 回答
0

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

于 2014-04-12T06:13:19.837 回答