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.+'
}
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.
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:+'
}
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'])
}
J'espère que cette aide!
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'])
}
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
dans le fichier AndroidManifest.xml, remplacez user-sdk par une version plus ancienne <uses-sdk Android:minSdkVersion="19"/>
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" /.
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)
<uses-sdk Android:minSdkVersion="19"/>
Dans AndroidManifest.xml
a travaillé pour moi sur Android Studio (Beta) 0.8.2.
Changer le fichier AndroidManifest.xml
<uses-sdk Android:minSdkVersion="19"/>
<uses-sdk Android:minSdkVersion="14"/>
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
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"
}
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
}
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
votre appareil plus ancien que minSDK
, éditez minSdkVersion
dans build.gradle
Dans build.gradle, changez minSdkVersion 17 ou version ultérieure.
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
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.
Essayez de changer votre version de sdk min
<uses-sdk
Android:minSdkVersion="4"
Android:targetSdkVersion="19" />
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.
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.
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.
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"
}
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.