appcompat-v7:21.0.0':找不到与给定名称匹配的资源:attr 'android:actionModeShareDrawable' [英] appcompat-v7:21.0.0': No resource found that matches the given name: attr 'android:actionModeShareDrawable'

查看:34
本文介绍了appcompat-v7:21.0.0':找不到与给定名称匹配的资源:attr 'android:actionModeShareDrawable'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试在我的项目中使用最新的 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错误:(36, 21) 找不到与给定名称匹配的资源:attr 'android:actionModeShareDrawable'.错误:(36, 21) 找不到与给定名称匹配的资源:attr 'android:actionModeShareDrawable'.错误:(36, 21) 找不到与给定名称匹配的资源:attr 'android:actionModeShareDrawable'.错误:(36, 21) 找不到与给定名称匹配的资源:attr 'android:actionModeShareDrawable'.

我该如何解决这个问题?

解决方案

虽然 .
最后,您的 gradle-file 将如下所示:

android {compileSdkVersion 21//...默认配置{//...目标SDK版本21}}

请务必在之后同步您的项目.

<小时>

日蚀

在 Eclipse 中使用 v7-appcompat 时,您必须将其用作库项目.仅将 *.jar 复制到您的 /libs 文件夹是不够的.请阅读.
(注意:如果您只使用 .jar,您将在运行时获得 NoClassDefFoundErrors)

当您尝试构建项目时,您将在 res/values-v** 文件夹中遇到问题.您的消息窗口将显示如下内容:

Error:android-apt-compiler: [appcompat] 找到与给定名称匹配的资源:attr 'android:colorPrimary'.错误:(75, -1) android-apt-compiler: [appcompat] C:[Your Path]sdkextrasandroidsupportv7appcompat
esvalues-v21styles_base.xml:75: 错误:检索项目的父项时出错:找不到与给定名称android:Widget.Material.ActionButton"匹配的资源.//等等

解决方案

右键单击 appcompat 模块 --> 打开模块设置 (F4) --> [依赖项选项卡] 从下拉列表中选择 Android API 21 平台 --> 应用

然后只需重建项目 (Build --> Rebuild Project) 就可以了.

When attempting to use the latest appcompat-v7 support library in my project, I get the following error:

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

How do I fix this?

解决方案

While the answer of loeschg is absolutely correct I just wanna elaborate on it and give a solution for all IDE's (Eclipse, IntellJ and Android Studio) even if the errors differentiate slightly.


Prerequirements

Make sure that you've downloaded the latest extras as well as the Android 5.0 SDK via the SDK-Manager.


Android Studio

Open the build.gradle file of your app-module and change your compileSdkVersion to 21. It's basically not necessary to change the targetSdkVersion SDK-Version to 21 but it's recommended since you should always target the latest android Build-Version.
In the end you gradle-file will look like this:

android {
    compileSdkVersion 21
    // ...

    defaultConfig {
        // ...
        targetSdkVersion 21
    }
}

Be sure to sync your project afterwards.


Eclipse

When using the v7-appcompat in Eclipse you have to use it as a library project. It isn't enough to just copy the *.jar to your /libs folder. Please read this (click) step-by-step tutorial on developer.android.com in order to know how to import the project properly.

As soon as the project is imported, you'll realize that some folders in the /resfolder are red-underlined because of errors such as the following:

error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material'.
error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.*'
error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'.

Solution

The only thing you have to do is to open the project.properties file of the android-support-v7-appcompat and change the target from target=android-19 to target=android-21.
Afterwards just do a Project --> Clean... so that the changes take effect.


IntelliJ IDEA (not using Gradle)

Similiar to Eclipse it's not enough to use only the android-support-v7-appcompat.jar; you have to import the appcompat as a module. Read more about it on this StackO-Post (click).
(Note: If you're only using the .jar you'll get NoClassDefFoundErrors on Runtime)

When you're trying to build the project you'll face issues in the res/values-v** folders. Your message window will say something like the following:

Error:android-apt-compiler: [appcompat]  resource found that matches the given name: attr 'android:colorPrimary'.
Error:(75, -1) android-apt-compiler: [appcompat] C:[Your Path]sdkextrasandroidsupportv7appcompat
esvalues-v21styles_base.xml:75: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton'.
// and so on

Solution

Right click on appcompat module --> Open Module Settings (F4) --> [Dependency Tab] Select Android API 21 Platform from the dropdown --> Apply

Then just rebuild the project (Build --> Rebuild Project) and you're good to go.

这篇关于appcompat-v7:21.0.0':找不到与给定名称匹配的资源:attr 'android:actionModeShareDrawable'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆