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


68

我正在使用Android Studio 3.0 Canary4。我导入了回收者视图库。然后,它显示出attr / colorError not found消息。这是应用程序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,那里的颜色值。为什么会出现此颜色错误?如果要使用回收站视图,应该导入哪个版本的库?


5
您应该理想地匹配compileSdkVersion
OneCricketeer

Answers:


134

更改以下详细信息将可以正常使用,

compileSdkVersion 26
buildToolsVersion "26.0.0-beta2"

49
这次真是万分感谢。我们开发的应用程序每3个月左右更新一次,令人沮丧的是-每次打开Android Studio时,在进行任何开发工作之前,都有大量的更新,补丁和“快速修复”可供下载和应用。不能说XCode在所有不兼容的Swift版本中都更好。Yikes,很抱歉突然爆发:)不过,感谢您分享此问题的解决方案!
Fredrik Johansson,

14
我怎么能给予好评个亿左右的时间弗雷德里克的评论
德博拉

@Muthukrishnan Rajendran是工作的朋友。谢谢
Chetan Joshi

33

同时升级compileSDKVersionbuildToolsVersion26(这是25)解决了该问题对我来说:

compileSdkVersion 26
buildToolsVersion '26.0.2'
...
dependencies {
    ...
    compile 'com.android.support:appcompat-v7:26.0.2'

}

通常,请确保所有版本保持一致(编译,构建,appcompat库)。

这是为了确保运行时的编译和稳定性(如果lint找到differnetnet支持库版本,也可以看到lint关于后者的警告)


4

修订版26.0.0 Beta 2

请注意26.0.0-beta2是预发行版本。其API外观可能会发生变化,并且不一定包含支持库的最新稳定版本中的功能或错误修复。

对于您的问题,您可以使用 “ 26.0.0-beta2”。如果使用“稳定版本”会更好。


1
我在稳定版本(26.0.1)中也遇到了同样的问题
偏差

1
@deviant Google开发人员。应该看这件事。每天都会出现新的错误
IntelliJ Amiya

@deviant有同样的问题26.0.0-beta2吗?
IntelliJ Amiya

3

在Android / build.gradle底部粘贴以下代码对我有帮助:

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 28
                buildToolsVersion "28.0.3"
            }
        }
    }
}

1

当我的应用程序位于appcompat-26上并尝试包含一个依次使用appcompat-25的Android库时,我看到了相同的错误。到目前为止,我的解决方案是使该应用程序也保持25版不变。

我不知道是否应该是这样。当然,您必须能够发布使用支持库版本X的库,并使该库在使用支持库版本X + 1的应用程序中运行。

我使用的是AS 3.0-beta7,所以也许它已在几天前发布的稳定版3.0中解决。


0

只需更改minSdk

例如:

android {
   compileSdkVersion 26
   buildToolsVersion "26.0.0-beta2"
   defaultConfig {
      applicationId "com.parse.starter"
      minSdkVersion 15
      targetSdkVersion 21
      versionCode 1
      versionName "1.0"
   }
}

希望这可以帮助


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
             }
   }

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
            }
        }
    }
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.