当试图在我的项目中使用最新的appcompat-v7支持库时,我得到以下错误:

/Users/greg/dev/mobile/android_project/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0/res/values-v11/values.xml
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.

我怎么解决这个问题?


当前回答

“遵循以下步骤:

这对我很有用。为了解决这个问题,

1.右键单击appcompat_v7库并选择属性

2.现在,点击Android选项, 将项目构建路径设置为Android 5.0 (API级别21) 应用更改。

3.现在进入项目。appcompat_v7库下的属性文件,

4.设置项目目标为:target=android-21

5.现在Clean + Build appcompat_v7库和你的项目

其他回答

这可能是因为在构建中还没有将compileSdkVersion设置为21。gradle文件。您可能还想将targetSdkVersion更改为21。

android {
    //...
    compileSdkVersion 21

    defaultConfig {
        targetSdkVersion 21
    }
    //...
}

这要求您首先下载了最新的SDK更新。

一旦你下载了所有的更新(别忘了也更新Android支持库/存储库!),更新了你的compileSdkVersion,重新同步你的Gradle项目。

编辑:适用于Eclipse或一般IntelliJ用户

请看reVerse的回答。他走得很彻底!

当我将编译SDK版本从API:21更改为API:16时,我得到了同样的错误。问题是,appcompat版本。如果你需要使用旧版本的android API,那么你也必须改变这个appcompat版本。在我的情况下(API:16),我必须使用appcompat-v7 . 19.+。

所以我在build中替换了依赖项。Gradle如下,

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.+'
}

确保你的SDK中有旧版本的appcompat

我在游戏服务5.0.89中遇到过这个问题。升级到6.1.11解决了这个问题。

确保在android studio(或eclipse)中清理项目,

它应该能解决你的问题

我在工作空间中添加了另一个项目,并试图在清单文件中引用它的一个活动,但我得到了这个错误。问题是我没有正确地引用库。下面是我解决问题的方法:

右键单击项目 选择属性 点击左边菜单上的Android 点击添加 请选择一个图书馆计划

jar进入Android Dependencies文件夹,这个错误已经修复。