Error Android-L

Intento usar el nuevo CardView de Android L. Actualicé todo en el administrador del SDK, pero sigo recibiendo el siguiente error:

Error [INSTALL_FAILED_OLDER_SDK]

Este es mi archivo build.gradle :

 apply plugin: 'android' android { compileSdkVersion 'android-L' buildToolsVersion '20.0.0' defaultConfig { applicationId "www.thomascbeerten.com.nieuwetests" minSdkVersion 8 targetSdkVersion 20 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { // Support Libraries compile 'com.android.support:support-v4:19.1.0' compile 'com.android.support:appcompat-v7:19.1.0' compile 'com.android.support:gridlayout-v7:19.1.0' compile 'com.android.support:mediarouter-v7:19.1.0' // compile 'com.android.support:support-v13:19.1.0' compile 'com.android.support:recyclerview-v7:+' } 

Recientemente, hubo una publicación aquí sobre la incompatibilidad de L SDK con versiones anteriores de Android. He estado cavando en repositorys AOSP durante bastantes horas y he determinado que las herramientas se comportan de esta manera porque están diseñadas para tratar las plataformas de vista previa de manera diferente. Si comstack contra un SDK de vista previa (android-L), las herramientas de comstackción bloquearán minSdkVersion y targetSdkVersion al mismo nivel de API. Esto resulta en que la aplicación producida no se puede instalar en dispositivos que ejecutan versiones anteriores de Android, incluso si su aplicación no está haciendo algo específico para L. Para empeorar las cosas, las nuevas librerías de soporte (CardView, RecyclerView, Palette, etc. ) también están bloqueados en el nivel L API, aunque, de acuerdo con sus nombres de repository, deberían funcionar en el nivel 7 de la API muy bien (¡y lo hacen!).

Vea mi publicación de Reddit sobre esto aquí , con una solución alternativa.

Una vez que haya resuelto los problemas anteriores, como lo mencionó Eddie. También podría encontrarse con otro error ;;

 Error:Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Material.Light'. 

Esto estará presente en su styles.xml. La solución rápida es reemplazarlo con lo siguiente:

     

Cambio

 android { compileSdkVersion 'android-L' buildToolsVersion '20.0.0' 

a

 android { compileSdkVersion 21 buildToolsVersion '21.0.2' 

Tenga en cuenta que android-L está entre comillas simples, pero 21 no. 21 es un número entero y no una cadena.

Cuando comstack con L, en realidad realiza un cambio durante la comstackción configurando su versión de minsdk en L. Si desea usar RecyclerView o CardView, le recomiendo que revise RecyclerViewLib . RecyclerView y CardView se han mudado a esta biblioteca para que no haya un problema de versión mínima. El autor también explicó en su publicación de blog cómo se eliminó todo el código relacionado con L para que sea seguro usarlo.

Para agregar RecyclerViewLb a su proyecto, simplemente agregue la siguiente línea a sus dependencias en su archivo build.gradle:

 compile 'com.twotoasters.RecyclerViewLib:library:1.0.+@aar' 

Entonces no desea agregar la compile 'com.android.support:recyclerview-v7:+' a su build.gradle, ya que la obtendrá a través de RecyclerViewLib.

Me encontré con este problema. Esto puede suceder cuando su versión min SDK y sus objectives integrados están configurados en una versión de OS / nivel de API más alta que la que está ejecutando su teléfono. Si está utilizando Android Studio, vaya a Archivo> Estructura del proyecto> y edite la configuración relavent luego Ejecutar de nuevo.