karthiks karthiks - 2 months ago 23
Android Question

Error:(72) Error retrieving parent for item: No resource found that matches the given name 'TextAppearance.AppCompat.Display1'

I'd like to know why I get this error at the first place, what is the solution and why it works? Your help is much appreciated.

My Gradle file is as below:

apply plugin: 'com.android.application'

android {
compileSdkVersion 24
buildToolsVersion "24.0.2"

packagingOptions {
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'LICENSE.txt'
}

defaultConfig {
applicationId "com.mycompany.myapp"
minSdkVersion 18
targetSdkVersion 24
versionCode 4
versionName "4.0"

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
applicationIdSuffix '.d'
versionNameSuffix '-debug'
}
}
}

ext {
supportLibraryVersion = '24.2.1'
junitVersion = '4.12'
mockitoVersion = '1.10.19'
hamcrestVersion = '1.3'
espressoVersion = '2.2.2'
runnerVersion = '0.5'
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile "com.android.support:appcompat-v7:$supportLibraryVersion"
compile "com.android.support:support-v4:$supportLibraryVersion"

testCompile "junit:junit:$junitVersion"
testCompile "org.mockito:mockito-all:$mockitoVersion"
testCompile "org.hamcrest:hamcrest-all:$hamcrestVersion"

androidTestCompile "com.android.support.test:runner:$runnerVersion"
androidTestCompile "com.android.support.test:rules:$runnerVersion"
androidTestCompile "com.android.support.test.espresso:espresso-core:$espressoVersion"
androidTestCompile "com.android.support.test.espresso:espresso-intents:$espressoVersion"
androidTestCompile "com.android.support.test.espresso:espresso-contrib:$espressoVersion"
//androidTestCompile "com.android.support.test.espresso:espresso-web:$espressoVersion"
//androidTestCompile "com.android.support.test.espresso:espresso-idling-resource:$espressoVersion"
}

configurations.all {
resolutionStrategy.force "com.android.support:support-v4:$supportLibraryVersion"
resolutionStrategy.force "com.android.support:support-annotations:$supportLibraryVersion"
//resolutionStrategy.force "com.android.support:recyclerview-v7:$supportLibraryVersion"
}

configurations.compile.dependencies.each { compileDependency ->
println "Excluding compile dependency: ${compileDependency.getName()}"
configurations.androidTestCompile.dependencies.each { androidTestCompileDependency ->
configurations.androidTestCompile.exclude module: "${compileDependency.getName()}"
}
}


The Errors that I get when do a build from Android Studio IDE are as below:

Error:(72) Error retrieving parent for item: No resource found that matches the given name 'TextAppearance.AppCompat.Display1'.
Error:(75) Error retrieving parent for item: No resource found that matches the given name 'TextAppearance.AppCompat.Caption'.
Error:(89) Error retrieving parent for item: No resource found that matches the given name 'TextAppearance.AppCompat.Button'.
Error:(97, 5) No resource found that matches the given name: attr 'textAllCaps'.
Error:(102, 5) No resource found that matches the given name: attr 'elevation'.
Error:(113, 5) No resource found that matches the given name: attr 'backgroundTint'.
Error:(113, 5) No resource found that matches the given name: attr 'elevation'.

Answer

I think you are missing the android support design library

Try adding this

compile "com.android.support:design:$supportLibraryVersion"

Reason being that those are themes that you are missing. While I can't prove those are in-fact included in the design library, it would make sense that is where they come from.

And, if you do include that dependency, these lines aren't actually necessary.

compile "com.android.support:appcompat-v7:$supportLibraryVersion"
compile "com.android.support:support-v4:$supportLibraryVersion"