我正在使用Android Studio 3.0 Canary 4.我导入了回收站视图库。然后它出现attr / colorError not found消息。 这是app build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
applicationId "com.robyn.myapplication"
minSdkVersion 19
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
testImplementation 'junit:junit:4.12'
implementation 'com.android.support:recyclerview-v7:26.0.0-beta2'
implementation 'com.android.support:appcompat-v7:26.0.0-beta2'
}
每当我添加两个库实现' com.android.support:recyclerview-v7:26.0.0-beta2'和 实现' com.android.support:appcompat-v7:26.0.0-beta2',它出现此错误消息:
我尝试了清理并重建,错误信息仍然存在。我检查了res / values / colors,颜色值在那里。为什么我会出现这种颜色错误?如果我想使用回收站视图,我应该导入哪个版本的库?
答案 0 :(得分:128)
更改以下详细信息,它将正常工作,
compileSdkVersion 26
buildToolsVersion "26.0.0-beta2"
答案 1 :(得分:33)
同时将compileSDKVersion
和buildToolsVersion
升级为26(25岁)为我解决了问题:
compileSdkVersion 26
buildToolsVersion '26.0.2'
...
dependencies {
...
compile 'com.android.support:appcompat-v7:26.0.2'
}
通常,请确保所有版本保持一致(编译,构建,appcompat库)。
这是为了确保运行时的编译和稳定性(如果lint找到不同的支持库版本,也可以看到关于后者的lint警告)
答案 2 :(得分:4)
修订版26.0.0 Beta 2
请注意,26.0.0-beta2是预发行版。它的API 表面可能会发生变化,但不一定包括在内 最新稳定版支持的功能或错误修复 库。
对于您的问题,您可以使用" 26.0.0-beta2" 。如果您使用 Stable 版本会更好。
答案 3 :(得分:2)
在Android / build.gradle底部粘贴以下代码对我有帮助:
subprojects {
afterEvaluate {project ->
if (project.hasProperty("android")) {
android {
compileSdkVersion 28
buildToolsVersion "28.0.3"
}
}
}
}
答案 4 :(得分:1)
当我的应用程序在appcompat-26上时,我看到同样的错误,并尝试包含一个Android库,而该库又使用appcompat-25。 到目前为止,我的解决方案是将应用程序保持在25位。
我不知道它是否应该是这样的。当然,您必须能够发布使用支持库版本X的库,并使用支持库版本X + 1在应用程序中运行它。
我正在使用AS 3.0-beta7所以也许它已经在几天前发布的稳定版3.0上得到了解决。
答案 5 :(得分:1)
只需更改minSdk
:
e.g:
android {
compileSdkVersion 26
buildToolsVersion "26.0.0-beta2"
defaultConfig {
applicationId "com.parse.starter"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
}
希望这有帮助
答案 6 :(得分:0)
当我创建产品风味并将“旧版”放在build.gradle(在“ app”文件夹中)的“当前”之后时,我发现此“ attr / colorError”错误发生了。当我在“当前”之前放置“旧版”(如下所示)时,错误就消失了。较低的“ versionCode”或“ SDK”版本可能需要首先出现?
flavorDimensions "legacycurrent"
productFlavors {
legacy {
dimension "legacycurrent"
versionCode 98
minSdkVersion 9
targetSdkVersion 25
compileSdkVersion 25
}
current {
dimension "legacycurrent"
versionCode 99
minSdkVersion 14
targetSdkVersion 26
compileSdkVersion 26
}
}
答案 7 :(得分:0)
FWW-对于将来的搜索者,我已将以下代码添加到我的root build.gradle中,以向下搜索依赖项并修复它们以匹配我的根项目。可能有一些警告和原因,这是个坏主意,但对我而言始终如一。
subprojects {
afterEvaluate {subproject ->
if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
}
}
}
}