web-dev-qa-db-fra.com

Android Studio: échec [INSTALL_FAILED_OLDER_SDK]

Aujourd'hui, j'ai téléchargé Android Studio v 0.8.0 beta. J'essaie de tester mon application sur le SDK 17. Erreur de studio Android Failure [INSTALL_FAILED_OLDER_SDK]Voici mon manifeste Android 

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="com.vahe_muradyan.notes" >
    <application
        Android:allowBackup="true"
        Android:icon="@drawable/ic_launcher"
        Android:label="@string/app_name"
        Android:theme="@style/AppTheme" >
        <activity
            Android:name=".Main_Activity"
            Android:label="@string/app_name" >
            <intent-filter>
                <action Android:name="Android.intent.action.MAIN" />

                <category Android:name="Android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Il semble que le studio Android utilise des configurations dans build.gradle.Here est build.gradle

    apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 'L'
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "com.vahe_muradyan.notes"
        minSdkVersion 8
        targetSdkVersion 'L'
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.Android.support:appcompat-v7:19.+'
}
55
Vahe Muradyan

Il y a ma configuration pour supporter L et les anciennes versions d'Android:

apply plugin: 'com.Android.application'

Android {
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "com.example.uladzimir_klyshevich.myapplication"
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }


    productFlavors {
        l {
            minSdkVersion 'Android-L'
            targetSdkVersion 'Android-L'
            compileSdkVersion 'Android-L'
        }
        old {
            minSdkVersion 10
            targetSdkVersion 20
            //TODO comment second line if build is not compiles for "L"
            compileSdkVersion 20
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    lCompile 'com.Android.support:appcompat-v7:21.+'
    oldCompile 'com.Android.support:appcompat-v7:19.1.0'
}

En conséquence, vous aurez des saveurs:

oldDebug
oldRelease
lDebug
lRelease

Et pouvez installer votre application sur les anciennes versions d'Android.

27
Vova K.

Faites ces changements dans le fichier build.gradle dans le module d'usure

compileSdkVersion 20
targetSdkVersion 20

Le contenu final de wear/build.gradle sera donc:

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 20
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "your package name"
        minSdkVersion 20
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.Android.support:wearable:+'
    compile 'com.google.Android.gms:play-services-wearable:+'
}
12
HocineHamdi

J'utilise Android Studio Beta version 0.8.1 et j'ai le même problème. Je viens maintenant de vendre mon problème en changeant l’AVD (j'utilise Genymotion) en API 19 .

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 19
    buildToolsVersion "19.1.0"

    defaultConfig {
        applicationId "com.example.daroath.actionbar"
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

enter image description here

J'espère que cette aide!

6
Daroath

J'ai rencontré le même problème et je l'ai résolu en téléchargeant l'api niveau 20 à l'aide de sdk manager et en modifiant chaque chaîne pointant vers Android-L . Je l'ai fait parce que je n'ai pas d'appareil KitKat et que je ne veux pas utiliser d'émulateur . Voir l'image télécharger celle qui est marquée.

Voici ma configuration de construction:

apply plugin: 'com.Android.application'

Android {
compileSdkVersion 20//changed this from default
buildToolsVersion "20.0.0"

defaultConfig {
    applicationId "com.example.subash.test"
    minSdkVersion 12//changed this from default
    targetSdkVersion 20//changed this from default
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        runProguard false
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}
4
Illegal Argument

Comme mentionné avant de passer à la construction 19, la route suggérée ici jusqu'à ce que la v20 soit "fixée". Ce fil de discussion m'a aidé à résoudre le problème, mais il semble que des réponses similaires aient également été publiées ici. https://code.google.com/p/Android/issues/detail?id=72840

2
ThorinOakenshield

dans le fichier AndroidManifest.xml, remplacez user-sdk par une version plus ancienne <uses-sdk Android:minSdkVersion="19"/>

2
youssef

Après de nombreuses recherches, j'ai trouvé la solution à cette énorme erreur pour laquelle je me débattais pendant 2 jours.

Au lieu de changer minSdkVerison & targetSdkVersion dans build.gradle

Ouvrez simplement le fichier Manifest et utilisez-le.

 & ltuses-sdk 
 Android: minSdkVersion = "17" 
 Android: targetSdkVersion = "21" /.
2
Goutham

Echec [INSTALL_FAILED_OLDER_SDK]

cela signifie fondamentalement que l'installation a échoué car l'emplacement cible (AVD/Périphérique) possède une version de SDK plus ancienne que la targetSdkVersion spécifiée dans votre application.

DE

apply plugin: 'com.Android.application'

Android {

compileSdkVersion 'L' //Avoid String change to 20 without quotes
buildToolsVersion "20.0.0"

defaultConfig {
    applicationId "com.vahe_muradyan.notes"
    minSdkVersion 8
    targetSdkVersion 'L' //Set your correct Target which is 17 for Android 4.2.2
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        runProguard false
        proguardFiles getDefaultProguardFile('proguard-Android.txt'),
'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])

compile 'com.Android.support:appcompat-v7:19.+' // Avoid Generalization 
// can lead to dependencies issues remove +

}

&AGRAVE;

apply plugin: 'com.Android.application'

Android {
compileSdkVersion 20 
buildToolsVersion "20.0.0"

defaultConfig {
    applicationId "com.vahe_muradyan.notes"
    minSdkVersion 8
    targetSdkVersion 17
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        runProguard false
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 
'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])

compile 'com.Android.support:appcompat-v7:19.0.0'
}

Ceci est une erreur commune d'Eclipse à maintenant Android Studio 0.8-.8.6

Ce qu'il faut éviter dans Android Studio (pour l'instant)

  • Evitez les chaînes au lieu de définir le niveau/nombre de l'API
  • Évitez de généraliser les dépendances + soyez spécifique
2
Al-Kathiri Khalid
<uses-sdk Android:minSdkVersion="19"/>

Dans AndroidManifest.xml a travaillé pour moi sur Android Studio (Beta) 0.8.2.

2
Kris Utter

Changer le fichier AndroidManifest.xml

<uses-sdk Android:minSdkVersion="19"/>
<uses-sdk Android:minSdkVersion="14"/>
2
user3383999

Je suis d'abord allé dans le gestionnaire de SDK et ai mis à jour tout ce qu'il avait été mis à jour.

J'ai également ajouté dans la version du SDK la version d'Android que j'avais sur le ... Version 2.3.4 (10)

Je ne pense pas que cela ait vraiment réglé le problème. Après un redémarrage d'Android Studio recommandé après l'installation du SDK, j'ai modifié minSdkVersion en 8 dans le fichier build.gradle

J'ai ensuite pu télécharger l'application sur mon Droid.

defaultConfig {
    applicationId "com.cmcjr.chuck.droid_u"
    minSdkVersion 8
    targetSdkVersion 20
    versionCode 1
    versionName "1.0"
}

C'est Android Studio installé sur Ubuntu 12.04

1
Chulk Ches

Allez simplement à build.gradle(Module:App) et changez la minSdkVersion en utilisant ce que vous utilisez avec l'émulateur.

Exemple:

defaultConfig {
        applicationId "com.example.raghu.sample"
        // Change the version in following line
        minSdkVersion 10 // <-- Whatever you are using with Emulator
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
1
Raghu.k

Le vrai problème est que, avec Android Studio version 0.8 bêta, Vanilla installe/reconnaît uniquement le SDK 20, qui est Android L. Pour pouvoir cibler un autre fichier ComplieSDK, vous devez l’installer via le gestionnaire de SDK. Une fois qu'il est défini, vous pouvez alors changer le compileSDK en une version inférieure et cela devrait fonctionner.

vous voudrez peut-être aussi restreindre la bibliothèque de compatibilité, il faut empêcher l'utilisation de la version la plus récente de la bibliothèque. Modifiez donc le type de dépendance comme suit: 

compile('com.Android.support:appcompat-v7:19.1.0') {
    // really use 19.1.0 even if something else resolves higher
    force = true
}
1
Ajibola

J'ai résolu ce problème… .. Je viens de modifier la version compileSdk d'Android_L à 19pour cibler mon lien 4.4.4.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:0.12.2'
    }
}
apply plugin: 'com.Android.application'

repositories {
    jcenter()
}

Android {
    **compileSdkVersion 'Android-L'** modified to 19
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "com.antwei.uiframework.ui"
        minSdkVersion 14
        targetSdkVersion 'L'
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    **compile 'com.Android.support:support-v4:21.+'** modified to compile 'com.Android.support:support-v4:20.0.0'
}

comment modifier la valeur par ide. 

sélectionnez Fichier-> Structure du projet -> Facettes -> Android-gradle, puis modifiez la version de compilation SDK d'Android_L à 19.

désolé je n'ai pas assez de réputation pour ajouter des photos 

1
Ant小波

votre appareil plus ancien que minSDK, éditez minSdkVersion dans build.gradle

0
vuhung3990

Dans build.gradle, changez minSdkVersion 17 ou version ultérieure.

0

vous avez besoin de mise à jour.

Ceci est ma solution actuelle (09/2015).

Dans la recherche Android Studio.

Menu --> Help --> check for update

Upate et problème résolu !!

Bonne chance

0
David Hackro

Une autre façon de prendre en charge Android L consiste à utiliser la propriété personnalisée lpreview pour Gradle. Par exemple:

lpreview = hasProperty('lpreview')

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion lpreview ? "Android-L" : 19
    buildToolsVersion "20.0.0"

    productFlavors { lpreview ? lpreview{} : classic{} }

    defaultConfig lpreview ? {} : {
        minSdkVersion 14
        targetSdkVersion 19
    }

Maintenant, vous pouvez construire votre application avec:

./gradlew clean
./gradlew -Plpreview assembleDebug

ou

./gradlew -Plpreview installLpreviewDebug

De cette façon, vous pouvez créer votre application avec la propriété lpreview pour Android L et sans cette dernière pour les versions précédentes.

0
Yuriy Yunikov

Essayez de changer votre version de sdk min

<uses-sdk
    Android:minSdkVersion="4"
    Android:targetSdkVersion="19" />
0

Vérifiez le niveau minimum de l'API dans le build.gradle (module: app) [à l'intérieur des scripts de gradle] . Ce nombre doit être égal ou inférieur au périphérique que vous utilisez.

0
Aditya

Vient d’installer Android Studio v 0.8.1 beta et le même problème pour le SDK 19.

Copié 19 de l'adt-bundle vers Android-studio, build.gradle remplacé par:

compileSdkVersion 19 targetSdkVersion 19

then project -> app -> ouvrir les paramètres du module (structure du projet): changez la version de compilation de sdk en 19.

Maintenant fonctionne bien.

0
johnnie mac

Semblable à quelques publications antérieures - je suis allé à SDK Manager et j'ai désinstallé la version 20 et la version L. Ensuite, j'ai installé la version 19 et ce problème a été résolu. Je pouvais déboguer avec mon appareil Android, sans erreur.

0
user3844472

Vérifiez la 'minSdkVersion' dans votre build.gradle

Le projet par défaut le crée avec la dernière API. Par conséquent, si votre téléphone n’est pas encore à jour (par exemple, minSdkVersion 21 ), ce qui est probablement votre cas. 

Assurez-vous que la valeur minSdkVersion correspond à la version de l'API du périphérique ou si le périphérique en possède une version supérieure.

Exemple:

defaultConfig {
    applicationId 'xxxxxx'
    minSdkVersion 16
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
}
0
Alécio Carvalho

Un autre endroit où minSdkVersion a un sens est une saveur:

productFlavors {
    dev {
        minSdkVersion 22
    }
    prod {
        minSdkVersion 9
    }
}

minSdkVersion (22) ne sera pas installé sur les périphériques de développement avec un niveau API supérieur à 22.

0
Vladimir Koltunov