放弃支持库v7。我错了什么?

时间:2013-11-13 10:07:47

标签: android eclipse android-actionbar android-support-library

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

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

我一步一步地跟着Support library setup guide,再次清理,构建和清理,重新启动eclipse,升级SDK和插件到最后一个版本(只是为了实现SDK build tools v19 are broken,所以我不得不删除它们)。两个小时后,我仍然无法建立我的项目。我收到了这些错误:

    [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'.

我在以下问题中尝试了所有内容,但无济于事:
Adding Support Libraries to Android project
After setting up android-support-v7-appcompat R.java is missing
Android Support Library v7: Error retrieving parent for item
Can't Find Theme.AppCompat.Light for New Android ActionBar Support
How to resolve the error "No resource found that matches the given name" when adding library v7 AppCompat in Eclipse?

我不是说这些答案无效,只是因为某些原因他们不适合我(我认为这是因为Google讨厌我)。

以下是目标sdk的清单行:

图书馆:

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

和主要项目:

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

尝试每次改变后的每一种可能的组合,清洁和建造,但仍然没有运气。

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

是否可以使用支持v7库获取ONLY操作栏?

3 个答案:

答案 0 :(得分:13)

终于搞定了。

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

我已经编辑了project.properties文件(是的,那个带有评论的文件“此文件由Android工具自动生成。请勿修改此文件 - 您的更改将被删除”) 构建目标设置为8,将其更改为16,现在它与ABS和appcompat v7一起编译。

更新:
以下是如何以正确的方式做到这一点: https://stackoverflow.com/a/3343050/813951

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

使用Android Studio和build.gradle设置时:提升compileSdkVersion&gt; = 14。