5

Bei Verwendung der neuen Android-Widgets CardView und RecyclerView habe ich festgestellt, dass sie minSdkVersion L erfordern. Also, wenn Ihr Projekt zum Beispiel verwendet minSdkVersion 14, erhalten Sie einen Fehler wie diese:Warum benötigen CardView und RecyclerView minSdkVersion L?

> Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version L declared in library com.android.support:cardview-v7:21.0.0-rc1 

Ich weiß, dass es eine Abhilfe, die Gradle sagt die minSdkVersion der Bibliothek zu ignorieren und die eine des Projekts stattdessen verwenden.

<uses-sdk tools:node="replace" /> 

Wenn jedoch die Bibliothek Android L erfordert, ist es sicher, diesen Fehler zu ignorieren und es trotzdem mit älteren Versionen zu verwenden? und warum hat Google beschlossen, sie nicht mit Pre-L-Versionen arbeiten zu lassen? Ich nehme an, es liegt daran, dass es nicht die endgültige Version ist?

Antwort

7

Alle von Google bei I/O veröffentlichten APIs (einschließlich CardView und RecyclerView) sind derzeit nur als Vorschau gedacht und sollten nicht für Produktionsanwendungen verwendet werden.

Dies ist Googles Methode, zu verhindern, dass diese Bibliotheken in Produktionsanwendungen angezeigt werden, bevor sie fertiggestellt und veröffentlicht werden.

3

Wenn Sie beide mit früheren Versionen von Android jetzt verwenden möchten, ist es wirklich einfach. Fügen Sie einfach RecyclerViewLib als Abhängigkeit in Ihrer build.gradle-Datei hinzu.

compile 'com.twotoasters.RecyclerViewLib:library:[email protected]' 

Der Autor spricht darüber in seinem blog post. Der gesamte Code, der von L abhängig ist, wurde entfernt, so dass dieser sicher zu verwenden ist. Viel Glück!