Ich habe Probleme, das Versionsschema der Unterstützungsbibliotheken zu verstehen und wann ich welche Version verwenden soll. Zur Zeit habe ich ein Projekt mit compileSdkVersion 21
, minSdkVersion 21
Und targetSdkVersion 21
Und möchte die Android Design Support Library verwenden. Wenn ich com.Android.support:design:22.2.0
Das Projekt wird kompiliert, aber ich erhalte eine Gradle-Warnung:
"This support library should not use a different version (22) than the `compileSdkVersion` (21)".
Wenn ich com.Android.support:design:23.0.1
Verwende, erhalte ich einige Kompilierungsfehler wie:
"Error:(2) Error retrieving parent for item: No resource found that matches the given name 'Android:TextAppearance.Material.Widget.Button.Inverse'.
Ich dachte, ich kann immer die höchste Version der Unterstützungsbibliotheken verwenden, solange compileSdkVersion
niedriger oder gleich ist, aber das scheint falsch.
Kann ich die Design Support Library beim Kompilieren mit API Level 21 verwenden?
Die Unterstützungsbibliothek sollte immer mit compileSdkVersion
übereinstimmen, auch wenn targetSdkVersion
oder minSdkVersion
niedriger sind. Wenn Sie die Entwurfsbibliothek verwenden möchten, müssen Sie compileSdkVersion
auf mindestens 22 und die Bibliotheksversion 22.2.0 einstellen.
Der Grund dafür ist einfach. Die Version der Bibliothek spiegelt die Version des Android= sdk wider, für das sie erstellt wurde. Wenn Sie versuchen, eine höhere Version der Unterstützungsbibliothek als compileSdkVersion
zu verwenden, ist dies möglicherweise nicht der Fall Suchen Sie nach Ressourcen, die in einer späteren Version hinzugefügt wurden.
Sie können eine der folgenden Optionen verwenden:
//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'
Die Konstruktionsbibliothek ist abhängig von der appcompat-v7-Bibliothek.
Sie können die mit API 22 kompilierte Version v23.0.x nicht verwenden (dies ist der Grund für "Error:(2) Error retrieving parent for item: No resource found that matches the given name 'Android:TextAppearance.Material.Widget.Button.Inverse'
.
Da die erste Version der Entwurfsbibliothek 22 ist, kann nicht verwendet werden compileSdk = 21.