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 :
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?
Changez les détails suivants, ça marchera bien,
compileSdkVersion 26
buildToolsVersion "26.0.0-beta2"
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)
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.
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.
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
}
}
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