39 votes

Échec [INSTALL_FAILED_OLDER_SDK] Android-L

J'essaie d'utiliser le nouveau CardView d'Android L. J'ai tout mis à jour dans le gestionnaire de SDK, mais l'erreur continue à apparaître: "Echec [INSTALL_FAILED_OLDER_SDK]" - erreur.

Ceci est mon fichier 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:+'
}
 

54voto

Eddie Ringle Points 973

Récemment, il y avait un post ici sur le L du kit de développement d'incompatibilité avec les versions antérieures d'Android. J'ai fouiné dans PSBA dépôts depuis quelques heures maintenant, et a déterminé que les outils se comporter de cette parce qu'ils sont conçus pour traiter aperçu des plates-formes différentes. Si vous compilez à l'encontre d'une preview du SDK android-L), les outils de construction sera verrouillage minSdkVersion et targetSdkVersion à ce même niveau API. Cette résultats dans les produits, en demande de ne pas être installé sur les appareils exécutant des versions antérieures d'Android, même si votre application n'est pas de faire quelque chose de spécifique à L. Pour aggraver les choses, la nouvelle soutien libs (CardView, RecyclerView, Palette, etc.) sont également verrouillé dans le L API de niveau, même si, conformément à leur référentiel noms--ils doivent travailler sur l'API de niveau 7 très bien (et ils le font!).

Voir mon Reddit post à ce sujet ici, avec une solution de contournement.

5voto

Skillachie Points 195

Une fois que vous avez résolu les problèmes ci-dessus, comme mentionné par Eddie. Vous pourriez également rencontrer une autre erreur ;;

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

Ce sera présent dans votre styles.xml. La solution rapide consiste à le remplacer par ce qui suit:

 <?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>
 

2voto

harikris Points 2074

Changement

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

à

 android {
  compileSdkVersion 21
  buildToolsVersion '21.0.2'
 

Remarque: android-L est entre guillemets simples, mais 21 ne l’est pas. 21 est un entier et non une chaîne.

0voto

MinceMan Points 1583

Lorsque vous compilez avec L il est en fait un changement, lors de la compilation de la définition de votre minsdkversion à L. Si vous souhaitez utiliser RecyclerView ou CardView je voudrais vous recommandons de vérifier RecyclerViewLib. RecyclerView et CardView ont été en mouvement dans cette bibliothèque, de sorte qu'il n'est pas min version L problème. L'auteur l'explique dans son billet de blog comment tous L connexes code a été supprimé pour le rendre sûr à utiliser.

Pour ajouter RecyclerViewLb à votre projet, il suffit d'ajouter la ligne suivante à votre dépendances dans votre construction.gradle fichier:

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

Ensuite, vous ne voulez pas ajouter de l' compile 'com.android.support:recyclerview-v7:+' de votre construction.gradle que vous obtiendrez que par le biais de RecyclerViewLib.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X