使用com.android.support时找不到attr / colorError错误:recyclerview-v7:26.0.0-beta2

时间:2017-06-20 04:38:44

标签: android gradle android-recyclerview

我正在使用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',它出现此错误消息: enter image description here

我尝试了清理并重建,错误信息仍然存在。我检查了res / values / colors,颜色值在那里。为什么我会出现这种颜色错误?如果我想使用回收站视图,我应该导入哪个版本的库?

8 个答案:

答案 0 :(得分:128)

更改以下详细信息,它将正常工作,

compileSdkVersion 26
buildToolsVersion "26.0.0-beta2"

答案 1 :(得分:33)

同时将compileSDKVersionbuildToolsVersion升级为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
            }
        }
    }
}