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

我怎么解决这个问题?


当前回答

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

其他回答

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

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

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

如果你不想使用API 21作为目标API,因此你不想使用材质主题,你必须使用属于API 19 >的旧版本

compile "com.android.support:appcompat-v7:19.0.+"

这也有助于解决你的问题,这只取决于你想要实现什么。

在Android Studio中,我试图设置compileSdkVersion和targetSdkVersion为19。

我的解决方案是在构建的底部进行替换。Gradle,从这里:

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

旧版本的appcompat库:

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

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

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

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