J'ai des problèmes pour comprendre le schéma de version des bibliothèques de support et quand utiliser quelle version. Actuellement, j'ai un projet avec compileSdkVersion 21
, minSdkVersion 21
et targetSdkVersion 21
et je souhaite utiliser la bibliothèque de support de conception Android Android. Lorsque j'utilise com.Android.support:design:22.2.0
le projet se compile mais j'obtiens un avertissement Gradle:
"This support library should not use a different version (22) than the `compileSdkVersion` (21)".
Lorsque j'utilise com.Android.support:design:23.0.1
J'ai des erreurs de compilation comme:
"Error:(2) Error retrieving parent for item: No resource found that matches the given name 'Android:TextAppearance.Material.Widget.Button.Inverse'.
Je pensais pouvoir toujours utiliser la version la plus élevée des bibliothèques de support tant que le compileSdkVersion
est inférieur ou égal, mais cela semble faux.
Puis-je utiliser la bibliothèque de support de conception lors de la compilation avec le niveau 21 de l'API?
La bibliothèque de support doit toujours correspondre au compileSdkVersion
même si le targetSdkVersion
ou minSdkVersion
sont inférieurs. Si vous souhaitez utiliser la bibliothèque de conception, vous devrez définir compileSdkVersion
sur au moins 22 et la version de bibliothèque 22.2.0.
La raison en est simple. La version de la bibliothèque reflète la version du sdk Android par rapport à sa création. Si vous essayez d'utiliser une version de niveau supérieur de la bibliothèque de support que la compileSdkVersion
, il se peut qu'elle ne le soit pas. rechercher des ressources qui ont été ajoutées dans une version ultérieure.
Vous pouvez utiliser l'un d'eux:
//You have to use compileSdkVersion=22
compile 'com.Android.support:design:22.2.0'
compile 'com.Android.support:design:22.2.1'
//You have to use compileSdkVersion=23
compile 'com.Android.support:design:23.3.0'
compile 'com.Android.support:design:23.2.1'
compile 'com.Android.support:design:23.2.0'
compile 'com.Android.support:design:23.1.1'
compile 'com.Android.support:design:23.1.0'
compile 'com.Android.support:design:23.0.1'
compile 'com.Android.support:design:23.0.0'
La bibliothèque de conception a une dépendance avec la bibliothèque appcompat-v7.
Vous ne pouvez pas utiliser la version v23.0.x compilée avec l'API 22 (c'est la raison de "Error:(2) Error retrieving parent for item: No resource found that matches the given name 'Android:TextAppearance.Material.Widget.Button.Inverse'
.
De plus, comme la première version de la bibliothèque de conception est 22, vous ne pouvez pas utiliser compileSdk = 21.