web-dev-qa-db-fra.com

attr / colorError not found erreur lors de l'utilisation de com.Android.support:recyclerview-v7:26.0.0-beta2

J'utilise Android Studio 3.0 Canary 4. J'ai importé la bibliothèque de vues Recycler. Ensuite, le message attr/colorError not found est affiché. Ceci est l'application 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'
}

Chaque fois que j'ajoute l'implémentation de deux bibliothèques 'com.Android.support:recyclerview-v7:26.0.0-beta2' et l'implémentation 'com.Android.support:appcompat-v7:26.0.0-beta2', ce message d'erreur s'affiche : enter image description here

J'ai essayé de nettoyer et de reconstruire, le message d'erreur est toujours là. J'ai vérifié res/valeurs/couleurs, les valeurs de couleur sont là. Pourquoi je reçois cette erreur de couleur? Si je veux utiliser la vue Recycler, quelle version de la bibliothèque dois-je importer?

63
Robin

Changez les détails suivants, ça marchera bien,

compileSdkVersion 26
buildToolsVersion "26.0.0-beta2"
130

La mise à niveau de compileSDKVersion et buildToolsVersion à 26 (il était 25) a résolu le problème pour moi:

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

}

En général, assurez-vous de garder toutes les versions cohérentes (bibliothèques de compilation, compilation, appcompat).

Ceci est destiné à assurer la compilation et la stabilité au moment de l'exécution (on peut également voir un avertissement de peluche à propos de ce dernier si lint trouve des versions de bibliothèques de support différentes)

34
vir us

Révision 26.0.0 Bêta 2

Veuillez noter que 26.0.0-beta2 est une version préliminaire. Sa surface API est sujette à modification et n'inclut pas nécessairement des fonctionnalités ou des corrections de bugs provenant des dernières versions stables de Support Library.

Pour votre problème, vous pouvez utiliser "26.0.0-beta2" . Ce sera mieux si vous utilisez Stable Version.

4
IntelliJ Amiya

J'ai constaté la même erreur lorsque mon application est sur appcompat-26 et tente d'inclure une bibliothèque Android qui utilise à son tour appcompat-25. Ma solution a jusqu'ici été de garder l'application sur 25 également.

Je ne sais pas si c'est supposé être comme ça. Vous devez sûrement pouvoir publier une bibliothèque utilisant la version de support lib version X et la faire exécuter dans des applications utilisant la version de support lib version X + 1.

J'utilise AS 3.0-beta7, alors c'est peut-être résolu sur stable 3.0 qui a été publié il y a quelques jours.

1
JHH

J'ai trouvé cette erreur "attr/colorError" survenue lorsque j'avais créé des variantes de produits et que j'avais placé l'héritage après le "current" dans mon build.gradle (dans le dossier "app"). Lorsque je mets "l'héritage" avant le "courant" (comme indiqué ci-dessous), l'erreur disparaît. Peut-être que les versions "versionCode" ou "Sdk" inférieures doivent apparaître en premier?

   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
Stephen Bridgett

Il suffit de changer le minSdk:

par exemple.:

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

J'espère que cela t'aides

0
Ahmed J.