如何在创建make时发现此错误的问题我收到此错误消息: 错误:(9,5)错误:资源android:找不到attr / colorError
奇怪的是我有2个build.gradle文件: 这是我的build.gradle(Project:Projectname)文件:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
这是我的build.gradle(模块:app)文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
defaultConfig {
applicationId "org.acme.nfcedit"
minSdkVersion 22
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
此文件出现/home/users/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.1.0.aar/c41e5bc4d98504dc222d4eca88ab6d1b/res/values-v26/values-v26.xml内容
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Base.Theme.AppCompat" parent="Base.V26.Theme.AppCompat"/>
<style name="Base.Theme.AppCompat.Light" parent="Base.V26.Theme.AppCompat.Light"/>
<style name="Base.V26.Theme.AppCompat" parent="Base.V26.Theme.AppCompat">
<!-- We can use the platform styles on API 26+ -->
<item name="colorError">?android:attr/colorError</item>
</style>
<style name="Base.V26.Theme.AppCompat.Light" parent="Base.V23.Theme.AppCompat.Light">
<!-- We can use the platform styles on API 26+ -->
<item name="colorError">?android:attr/colorError</item>
</style>
<style name="Base.V26.Widget.AppCompat.Toolbar" parent="Base.V7.Widget.AppCompat.Toolbar">
<item name="android:touchscreenBlocksFocus">true</item>
<item name="android:keyboardNavigationCluster">true</item>
</style>
<style name="Base.Widget.AppCompat.Toolbar" parent="Base.V26.Widget.AppCompat.Toolbar"/>
</resources>
我不知道是什么模仿?android:attr/colorError
由于
答案 0 :(得分:22)
名为“android:attr / colorError”的属性由API 26及更高版本的appcompat库引用。但构建版本正在使用sdk 22版进行编译。
因此,在app模块的build.gradle中,将compileSdkVersion增加到26,使其与您正在使用的appcompat库的版本一致。
换句话说,现在,你有:
compileSdkVersion 22
implementation 'com.android.support:appcompat-v7:26.1.0'
但是,这两个版本应该是一致的。那么,看看会发生什么:
compileSdkVersion 26
implementation 'com.android.support:appcompat-v7:26.1.0'
答案 1 :(得分:1)
将compileSdkVersion 22
更改为compileSdkVersion 26
。
答案 2 :(得分:0)
这里是RN> 0.60的更新。在您的android \ build.gradle内,将以下内容放入allprojects块中,以确保子项目具有更新的compileSdkVersion。
subprojects {
afterEvaluate {
project ->
if (project.hasProperty("android")) {
android {
compileSdkVersion = 28
buildToolsVersion = "28.0.3"
}
}
}
}