Fallimento [ INSTALL_FAILED_OLDER_SDK ] Android -L

? TomCB @ | Original: StackOverFlow
---

Sto cercando di utilizzare il nuovo CardView da Android L. Ho aggiornato everyting nel responsabile SDK, ma continuo a ricevere "Failure [ INSTALL_FAILED_OLDER_SDK ] " - errore.

Questo è il mio file build.cradle

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:+'
}
---

Top 5 Risposta

1Eddie Ringle @

Recentemente c'è stato un post qui per quanto riguarda l'incompatibilità del L SDK   con le versioni precedenti di Android . Ho scavato nel repository AOSP   per qualche ora abbastanza ormai, e stabilito che gli strumenti si comportano in questo   modo perché sono progettati per il trattamento di piattaforme di anteprima in modo diverso .   Se si compila contro un'anteprima SDK ( android - L), gli strumenti di build   bloccare minSdkVersion e targetSdkVersion a quello stesso livello di API . questo   risultati nell'applicazione prodotto non siano in grado di essere installato su   dispositivi che eseguono versioni precedenti di Android, anche se l'applicazione   non sta facendo nulla di specifico per L. Per peggiorare le cose, la nuova   supporto librerie ( CardView, RecyclerView, Palette, etc.) sono bloccati   nel livello L API, anche se - secondo il loro repository   nomi - dovrebbero lavorare a livello di API 7 bene ( e lo fanno ! ) .

Vedere il mio post su questo Reddit http://www.reddit.com/r/androiddev/comments/297xli/howto_use_the_v21_support_libs_on_older_versions/, con una soluzione .

2Skillachie @

Una volta che avete i problemi di cui sopra risolti come detto da Eddie . Si potrebbe anche incorrere in un altro errore ;;

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

Questo sarà presente nel vostro styles.xml . La soluzione rapida è sostituirlo con il seguente sotto :

<?xml version="1.0" encoding="utf-8"?>
 <resources>
<!--<style name="AppTheme" parent="android:Theme.Material.Light">-->
<style name="AppTheme" parent="android:Theme.Holo.Light">
</style>

3MinceMan @

Quando si compila con L lo rende in realtà un cambiamento durante la compilazione impostare il minsdkversion a L. Se si desidera utilizzare RecyclerView o CardView consiglierei il check-out https://github.com/twotoasters/RecyclerViewLib . RecyclerView e CardView si sono mossi in questa biblioteca in modo che non vi è alcun problema min versione L . L'autore ha anche spiegato nel suo http://toastdroid.com/2014/09/03/unlocking-recyclerview/ come tutto il codice relativo L è stato rimosso per rendere più sicuro da usare .

Per aggiungere RecyclerViewLb al progetto basta aggiungere la seguente riga alle vostre dipendenze nel file build.gradle :

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

Quindi non si desidera aggiungere alla compile 'com.android.support:recyclerview-v7:+' al tuo build.gradle come si ottiene che, attraverso RecyclerViewLib .

4harikris @

Change

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

to

android {
  compileSdkVersion 21
  buildToolsVersion '21.0.2'

Nota android-L è tra virgolette singole, ma 21 non è . 21 È un intero e non una stringa .