9

我需要为 2.3 及更高版本的设备添加操作栏。

我最近知道了 appcompat v7 支持库,它就是这样做的。

我已经按照Support library setup guide一步一步地清理、构建和清理,重新启动 eclipse,将 SDK 和插件升级到最新版本(只是意识到SDK 构建工具 v19 已损坏,所以我不得不删除他们)。两个小时后,我仍然无法构建我的项目。我收到这些错误:

    [2013-11-13 00:00:00 - FooProject] D:\foo_project\android-support-v7-appcompat\res\values-v11\themes_base.xml:33: error: Error: No resource found that matches the given name: attr 'android:windowActionBar'.
    [2013-11-13 00:00:00 - FooProject] D:\foo_project\android-support-v7-appcompat\res\values-v11\themes_base.xml:42: error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Holo.Light'.
    [2013-11-13 00:00:00 - FooProject] D:\foo_project\android-support-v7-appcompat\res\values-v11\themes_base.xml:44: error: Error: No resource found that matches the given name: attr 'android:windowActionBar'.
    [2013-11-13 00:00:00 - FooProject] D:\foo_project\android-support-v7-appcompat\res\values-v14\themes_base.xml:31: error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Holo'.
    [2013-11-13 00:00:00 - FooProject] D:\foo_project\android-support-v7-appcompat\res\values-v14\themes_base.xml:41: error: Error: No resource found that matches the given name: attr 'android:actionBarWidgetTheme'.
    [2013-11-13 00:00:00 - FooProject] D:\foo_project\android-support-v7-appcompat\res\values-v14\themes_base.xml:57: error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Holo.Light'.
    [2013-11-13 00:00:00 - FooProject] D:\foo_project\android-support-v7-appcompat\res\values-v14\themes_base.xml:67: error: Error: No resource found that matches the given name: attr 'android:actionBarWidgetTheme'.
    [2013-11-13 00:00:00 - FooProject] D:\foo_project\android-support-v7-appcompat\res\values-v14\themes_base.xml:83: error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Holo.Light.DarkActionBar'.
    [2013-11-13 00:00:00 - FooProject] D:\foo_project\android-support-v7-appcompat\res\values-v14\themes_base.xml:94: error: Error: No resource found that matches the given name: attr 'android:actionBarWidgetTheme'.

而且我已经尝试了以下问题中的所有内容,但无济于事:
将支持库添加到 Android 项目
后设置 android-support-v7-appcompat R.java is missing
Android Support Library v7: Error retrieving parent for item
Can't Find Theme.AppCompat.Light 支持新的 Android ActionBar
如何在 Eclipse 中添加库 v7 AppCompat 时解决错误“找不到与给定名称匹配的资源”?

我并不是说这些答案无效,只是出于某种原因它们对我不起作用(我认为这是因为谷歌讨厌我)。

以下是目标 sdk 的清单行:

对于图书馆:

<uses-sdk android:minSdkVersion="7"/>

对于主要项目:

<uses-sdk android:targetSdkVersion="19" android:minSdkVersion="8"/>

每次更换后都尝试了所有可能的组合、清洁和建造,但仍然没有运气。

看起来这是与 Holo 相关的问题。我真的根本不需要 Holo,只需要 ActionBar。现在我只是切换到 ActionBarSherlock,它在过去对我很有效。但我真的很想知道我做错了什么,为什么尽管我花了相当多的时间研究这个问题,但有些东西还是不起作用。为什么在集成一个开箱即用的库时会如此痛苦。

是否可以使用支持 v7 库获得仅操作栏?

4

3 回答 3

13

终于让它工作了。

添加 ActionBarSherlock 时,控制台中出现相同类型的错误。

我已经编辑了project.properties文件(是的,那个带有注释“这个文件是由 Android 工具自动生成的。不要修改这个文件——你的更改将被删除”)构建目标设置为 8,将其更改为 16 和现在它可以与 ABS 和 appcompat v7 一起编译。

更新:
这是正确的方法: https ://stackoverflow.com/a/3343050/813951

于 2013-11-13T10:48:31.570 回答
0

使用 Android Studio 和 build.gradle 设置时:bump up compileSdkVersion>= 14。

于 2014-10-06T22:32:42.423 回答
0

必须查看ActionBarSherlock,它确实有帮助,因为您的根请求是为 2.3 及更高版本的设备添加操作栏

在我的项目中,它适用于 android 2.2 到 4.x

于 2013-11-13T10:40:16.997 回答