csdnceshi53
Lotus@
2015-08-18 14:39
采纳率: 50%
浏览 538

项目的错误检索父级: 在升级到 AppCompat v23之后,没有发现与给定名称匹配的资源

I've always programmed Android with Eclipse and decided to start migrating to Android Studio. I decided to use the same SDK I already had for Eclipse, then:

  • Started a new project
  • Set minimum SDK 4.0 (API Level 14)
  • Choose Blank Activity option
  • Used Default names for Activity Name and Layout Name
  • Hit Finish

After a few seconds Gradle finishes the build, and it throws me two errors with the following messages in file Teste4\app\build\intermediates/exploded-aar\com.android.support\appcompat-v7\23.0.0\res\values-v23\values-v23.xml:

Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.

Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'.

Under File -> Project Structure -> Modules: app (left column) -> Properties tab, I have the following versions set up:

  • "Compile Sdk Version": Android 5.1 (API Level 22)
  • "Build Tools Version": 23.0.2

What should I do in order to fix this?

I already tried what was suggested in Stack Overflow question appcompat-v7:21.0.0': No resource found that matches the given name: attr 'android:actionModeShareDrawable', but it didn't work.

转载于:https://stackoverflow.com/questions/32075498/error-retrieving-parent-for-item-no-resource-found-that-matches-the-given-name

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

23条回答 默认 最新

  • csdnceshi54
    hurriedly% 2015-08-18 14:47
    已采纳

    Your compile SDK version must match the support library's major version.

    Since you are using version 23 of the support library, you need to compile against version 23 of the Android SDK.

    Alternatively you can continue compiling against version 22 of the Android SDK by switching to the latest support library v22.

    点赞 评论
  • weixin_41568184
    叼花硬汉 2015-08-24 15:34

    I agree with the previous answer. Your compile SDK version must match the support library. Here is what I did.

    1. You can go to SDK Manager and under SDK Platform, install the Android 5.X with API level 23.
    2. Under Project Structure, change compile SDK Version to API 23, and Build Tools Version to 23.0.0

    Then it should build without problem.

    点赞 评论
  • weixin_41568134
    MAO-EYE 2015-08-27 02:45

    This happens because after updates Android Studio uses API version 23 by default.

    The following worked for me:

    Press Ctrl + Shift + Alt + S to get to the project structure page. Go to the properties tab and change 23.0.0 to 22.0.1 (or equivalent to what you were using earlier) in the build tool area and rebuild your project.

    If that doesn't work, go to gradle:app and then

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

    Edit v7:23.0.0 to v7:22.2.1 as shown above and sync gradle. This will definitely work.

    点赞 评论
  • csdnceshi66

    If you are getting errors even after downloading the newest SDK and Android Studio, here is what I did:

    1. Download the most recent SDK
    2. Open file-Project structure (Ctrl + Alt + Shift + S)
    3. In modules, select app
    4. In the properties tab: Change compile SDK version to API 23 Android 6.0 marshmallow (latest)

    I hope it helps someone so that he won't suffer like I did for these couple of days.

    点赞 评论
  • csdnceshi77
    狐狸.fox 2015-09-01 13:46

    As pointed out by Tanis.7x, the support library version (23) does not match the targetSdkVersion (22)

    You can fix this by doing the following:

    In the build.grade file of your app module, change the following line of code

    compile 'com.android.support:appcompat-v7:23.0.0'
    

    To

    compile 'com.android.support:appcompat-v7:22.+'
    

    This will use the latest version of the appcompat version that is compatible with SdkVersion 22.

    点赞 评论
  • csdnceshi61
    derek5. 2015-09-03 06:49

    When you update your Android Studio, it uses API version 23 by default, which is the main reason of its occurrence. So,

    At first, check your AppCompat version in build.gradle(Module:app) That is,

    Enter image description here

    If after changing to 23 there occurs an error then just download

    Compile Sdk Version to API 23, and Build Tools Version to 23.0.0

    from SDK Manager. If already downloaded then:

    1. Go to SDK Manager and
    2. Under Project Structure, change *Compile SDK Version* to API 23, and *Build Tools Version* to 23.0.0
    

    Click SDK Manager Button and open the dialog.

    Enter image description here

    Click SDK Platform and check if Android 6.0 is downloaded or not.

    if not, then download that first. After completing the download, click Apply.

    Enter image description here

    Now you need to apply changes to your project from setting. Then press Ctrl + Alt + Shift + S to open setting

    1. Click app from list.
    2. Click properties
    3. Change your Compile SDK Version to API 23
    4. Change your Build Tools Version to 23.0.0

    Enter image description here

    Don't forget to rebuild your project.

    Then your error will be gone.

    点赞 评论
  • csdnceshi55
    ~Onlooker 2015-09-03 08:01

    I found the solution, Problem started when I updated sdk, after that I used different buildToolsVersion ('22.0.1') and I was using different support library like compile 'com.android.support:appcompat-v7:23.0.0', showing you in image below

    enter image description here

    This was raising problem of "android.widget.Material..." Then I used same version for support library like compile 'com.android.support:appcompat-v7:22.0.1' and its DONE. (Showing you in below screenshot)

    enter image description here

    点赞 评论
  • csdnceshi56
    lrony* 2015-09-07 04:43

    You should compile your project with latest version so update & install from your SDK. Sync your project with sync project with Gradle file Button.
    You can also continue with the existing version but check it installed properly below image indicate to API 22 that is properly installed. enter image description here

    And sync your project if needed.

    enter image description here

    it may help.

    点赞 评论
  • csdnceshi52
    妄徒之命 2015-09-09 07:44

    Another solution : navigate to

    \sdk\extras\android\m2repository\com\android\support\appcompat-v7\23.x.x
    

    open .aar file with 7-zip or winrar , in res folder remove values-23 folder and save changes .

    点赞 评论
  • csdnceshi56
    lrony* 2015-09-15 13:26
    android {
        compileSdkVersion 23
        buildToolsVersion '23.0.1'
    
    defaultConfig {
        applicationId ""
        minSdkVersion 14
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
      }
    }
    
    dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.code.gson:gson:2.3.1'
    compile 'com.android.support:recyclerview-v7:23.0.0'
    compile 'com.android.support:appcompat-v7:23.0.1'
    }
    
    点赞 评论
  • weixin_41568174
    from.. 2015-09-24 20:47

    on module: app (Gradle)

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 21
        buildToolsVersion "21.1.2"
    
        defaultConfig {
            applicationId "com.namepack.nameappxxxxx"
            minSdkVersion 16
            targetSdkVersion 21
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
    
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'
    }
    

    project: nameAppXXXX (Gradle)

    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.2.3'
    
        }
    }
    
    allprojects {
        repositories {
            jcenter()
        }
    }
    

    and edit your activity of AppCompatActivity to for example Activity:

    package com.namepack.nameappxxxxx;
    
    
    import android.os.Bundle;
    import android.support.v7.app.ActionBarActivity;
    import android.view.Menu;
    import android.view.MenuItem;
    
    public class NameClass extends ActionBarActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main_activity);
        }
    
    
    }
    
    点赞 评论
  • csdnceshi70
    笑故挽风 2015-10-08 23:45

    This issue is raised because now the compile SDK version must match the Android Support library's major version.

    In my case i have the Android Support Library version 23, so i had to compile against the Android SDK version 23, and I had to change this in my build.gradle file:

    enter image description here

    Well some of you will need to install the SDK, Android 6.0 (API 23)

    enter image description here

    and don´t forget to Sync project with gradle files

    点赞 评论
  • csdnceshi76
    斗士狗 2015-10-18 05:26

    You need to set compileSdkVersion to 23.

    Since API 23 Android removed the deprecated Apache Http packages, so if you use them for server requests, you'll need to add useLibrary 'org.apache.http.legacy' to build.gradle as stated in this link:

    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.0"
        ...
    
        //only if you use Apache packages
        useLibrary 'org.apache.http.legacy'
    }
    
    点赞 评论
  • weixin_41568196
    撒拉嘿哟木头 2015-11-04 10:47

    I got the same problems. I solved my problem by updating gradle.build for each sub-module to latest compiler version.

    点赞 评论
  • weixin_41568208
    北城已荒凉 2015-12-18 09:10

    If you've tried to change target to a previous GooglePlayServices or AppCompatv7 version and it doesn't work, check if you have any project-libraries dependency, this project will be targeting the latest version of any of these libraries. It happened to me with the Google Maps Utils Library project:

    replace:

    compile 'com.google.android.gms:play-services:+'
    

    to

    compile 'com.google.android.gms:play-services:8.3.0'
    

    Then you can continue full targeting API 22

    If it still doesn't compile, sometimes is useful to set compileSdkVersion API to 23 and targetSdkVersion to 22.

    点赞 评论
  • csdnceshi77
    狐狸.fox 2016-03-04 06:04

    SDK Manager

    Make sure that all these are in upto date.

    点赞 评论
  • csdnceshi52
    妄徒之命 2016-03-04 20:05

    Upgrade Android Studio.

    I had this issue with Android Studio 1.3.1 and none of the other answers worked for me, but after updating to 1.5.1 there were no problems.

    点赞 评论
  • csdnceshi76
    斗士狗 2016-03-21 08:34

    This is what helped me: Adding specific android platform

    What should be done is the following... In my case it was cordova but the same is relevant for ionic, phonegap and other frameworks like these:

    1. list all platforms installed for your project: cordova platform list. You'll see something like this:

    enter image description here

    1. remove the android platform: cordova platform remove android.

    2. then add the specific android platform: cordova platform add android@5.0.0.

    Good luck! :)

    点赞 评论
  • csdnceshi51
    旧行李 2016-04-20 13:52

    In my case it was an higher version of Google-play-services. I set them to 7.0.0 (not 8.x) and all was ok.

    点赞 评论
  • weixin_41568183
    零零乙 2016-12-19 12:23

    I wanted to downgrade from API 23 to 22 and got this error. I had to change all build.gradle files in a project in order to compile.

    android {
        compileSdkVersion 22
        buildToolsVersion "22.0.1"
    
        defaultConfig {
            applicationId "com.yourapp.app"
            minSdkVersion 14
            targetSdkVersion 22
        }
    ...
    dependencies {
        compile 'com.android.support:appcompat-v7:22.2.1'
        compile 'com.android.support:support-v4:22.2.1'
        compile 'com.android.support:design:22.2.1'
        compile 'com.google.android.gms:play-services-gcm:10.0.1'
    }
    
    点赞 评论
  • csdnceshi78
    程序go 2016-12-30 06:19

    If you are using phonegap(cross-platform) and got same issue above, just remove the android platform using below command.

    phonegap platform remove android

    And add it again.

    phonegap platform add android

    Then problem solved for me.

    点赞 评论
  • csdnceshi66

    Your compile SDK version must match the support library major version. This is the solution to your problem. You can check it easily in your Gradle Scripts in build.gradle file. Fx: if your compileSdkVersion is 23 your compile library must start at 23.

      compileSdkVersion 23
        buildToolsVersion "23.0.0"
        defaultConfig {
            minSdkVersion 15
            targetSdkVersion 23
            versionCode 340
            versionName "3.4.0"
        }
    dependencies {
        compile 'com.android.support:appcompat-v7:23.1.0'
        compile 'com.android.support:recyclerview-v7:23.0.1'
    }
    

    And always check that your Android Studoi has the supported API Level. You can check it in your Android SDK, like this: enter image description here

    点赞 评论
  • csdnceshi77
    狐狸.fox 2018-02-10 15:50

    Everything is great but none of you explained where to download the SDK build tools

    Everything is greate but none of you explained where to download the SDK build tools

    点赞 评论

相关推荐