当试图在我的项目中使用最新的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'.

我怎么解决这个问题?


当前回答

我是最新的一切,仍然得到这个错误,不确定为什么,但我认为图像是以一种奇怪的方式损坏的,在替换图像后,我摆脱了这个错误。 可能值得尝试不同的图像:)

其他回答

在eclipse的工作区中创建第二个项目后,我遇到了这个问题。我相信这是因为我用不同的SDK版本创建了它,这覆盖了android-support-v7-appcompat库。

我试图把一切都清理干净,但无济于事。最后,对编辑项目提出以上建议。属性和更改目标= Android -21,并将我的项目设置为Android 5.0,修复它。

当我将编译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

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

android {
    //...
    compileSdkVersion 21

    defaultConfig {
        targetSdkVersion 21
    }
    //...
}

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

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

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

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

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

升级到最新的gradle插件解决了我的问题:

classpath 'com.android.tools.build:gradle:0.13.+'