Modification du niveau d'API Android Studio

414

Je souhaite modifier la version minimale du SDK dans Android Studio d'API 12 en API 14. J'ai essayé de la modifier dans le fichier manifeste, c'est-à-dire

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="18" />

et reconstruire le projet, mais je reçois toujours l'IDE Android Studio qui génère des erreurs. Je suppose que je dois définir le SDK min dans les «propriétés du projet» ou quelque chose de similaire pour que l'EDI reconnaisse le changement, mais je ne trouve pas où cela se fait dans Android Studio.

James B
la source
1
quelles sont ces erreurs? nous ne pouvons pas vous aider sans logcat
Arash GM
1
Ce ne sont pas des erreurs de compilation. C'est l'IDE qui donne un soulignement rouge lorsque j'essaie d'utiliser `GridLayout 'dans la mise en page xml, c'est-à-dire en me disant qu'un niveau d'API minimum 14 est requis. Par conséquent, il doit y avoir quelque part dans Android Studio où vous pouvez définir le niveau d'API minimum après avoir créé le projet. J'ai vu des articles similaires pour Eclipse, mais pas pour Android Studio.
James B
Avez-vous installé le package SDK API niveau 14?
ramaral
Si je démarre un nouveau projet et sélectionne l'API niveau 14 dès le départ, je n'ai aucun problème à développer dans Android Studio, c'est-à-dire que je dois avoir installé l'API Level 14 SDK. Cependant, si je veux simplement mettre à jour un projet existant pour utiliser l'API 14 au minimum, je ne peux pas savoir où dans l'IDE de l'interface graphique d'Android Studio je lui dis de le faire.
James B
Postez votre Logcat. et pour changer MinSDKVersioncela, c'est la solution la plus simple que vous ayez déjà essayée. iechange inManifest
Mitesh Shah

Réponses:

582

Lorsque vous souhaitez mettre à jour votre minSdkVersion dans un projet existant ...

  1. Mise à jourbuild.gradle(Module: app) - Assurez-vous que celui-ci est sous Gradle Script et qu'il ne l'est PAS build.gradle(Project: yourproject) .

Un exemple de build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    buildToolsVersion "28.0.2"

    defaultConfig {
        applicationId "com.stackoverflow.answer"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

dependencies {
    androidTestCompile 'junit:junit:4.12'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}
  1. Bouton de synchronisation des notes (actualiser tous les projets de notes fonctionne également)

Pour les débutants dans Android Studio, le "bouton de synchronisation de gradle" se trouve dans Outils -> Android -> Projet de synchronisation avec les fichiers Gradle "Reconstruire le projet" Construire -> Reconstruire le projet

  1. Projet de reconstruction

Après la mise à jour des build.gradle s » minSdkVersion, vous devez cliquer sur le bouton pour synchroniser le fichier gradle ( « Project Sync avec des fichiers Gradle »). Cela effacera le marqueur.

La mise à jour de manifest.xml , pour par exemple supprimer toutes les références aux niveaux du SDK dans le fichier manifeste, n'est plus nécessaire dans Android Studio.

Sotti
la source
7
Le build.gradle de mon projet est vide? Quelle est la syntaxe à mettre à jour? --- Oups, il y a deux fichiers build.gradle. J'ai trouvé celui dans -> src a les versions, etc.
mobibob
4
En utilisant ce conseil, j'ai réussi à synchroniser les choses, mais j'ai dû QUITTER Android Studio avant que la compilation soit sans erreur. J'ai effectué de nombreuses petites étapes, donc je ne sais pas quelle était vraiment l'étape nécessaire.
mobibob
5
pourquoi ont-ils fait un tel mal de balle? semblent se rappeler dans l'éclipse je n'avais qu'à le faire en un seul endroit ...
Dean Wild
1
@DeanWild Dans Android Studio est également au même endroit. Oubliez les niveaux d'API dans le fichier manifeste.
Sotti
2
Pour les débutants dans Android Studio, le "bouton de synchronisation de gradle" se trouve dans Tools -> Android -> Sync Project with Gradle Files"Projet de reconstruction"Build -> Rebuild Project
CGR
169

Pour les utilisateurs de studio Android:

  1. faites un clic droit sur le répertoire de l'application
  2. choisissez l'option "paramétrage module"
  3. modifier la plate-forme ADK selon vos besoins
  4. Cliquez sur Appliquer

Le gradle reconstruira le projet automatiquement.

user3291001
la source
3
La solution ci-dessus est, pour moi, la meilleure façon de procéder. Laissez l'outil effectuer toutes les modifications nécessaires, c'est-à-dire que vous manipulez vous-même différents fichiers, en prenant le risque de visser des choses ou d'oublier des détails importants.
GeertVc
2
Cela ne fonctionne pas dans Studio 0.8.2. Vous pouvez modifier les paramètres et appuyer valablement, mais le studio l'ignore. <br/> Solution: - Fermez Android Studio - Éditez "/app/build.gradle" - changez l'entrée SDK-MinVersion - redémarrez automatiquement les synchronisations d'Android Studio Gradle
Martin
Dans Studio 1.4, vous devez regarder dans l'onglet "Saveurs". Voir la réponse de priyankvex.
Yannick
Dans Studio 3.5, vous devez cliquer sur l'onglet "Configuration par défaut". L'onglet Saveurs ne semble plus exister.
Sum None
135

Comme maintenant Android Studio est stable, il existe un moyen simple de le faire.

  1. Faites un clic droit sur votre fichier de projet
  2. Sélectionnez "Ouvrir les paramètres du module"
  3. Accédez à l'onglet "Saveurs".

entrez la description de l'image ici

  1. Sélectionnez la version minimale du SDK dans la liste déroulante

PS: Bien que cette question ait déjà été répondue, mais Android Studio a un peu changé par sa version stable. Ainsi, une méthode simple et directe aidera tout nouveau chercheur de réponses à atterrir ici.

priyankvex
la source
1
L'édition des fichiers Gradle n'a pas fonctionné pour moi, mais cela a fonctionné. Merci!
Al0x
1
Cela a encore changé: l'onglet "Saveurs" n'est plus. À la place, à l'étape 3, dans la zone Paramètres du projet, cliquez sur Modules, puis utilisez la liste déroulante Niveau du projet pour sélectionner la version de l'API. Ce n'est pas la même chose que de définir la version minimale de l'API, mais plutôt la version qui sera utilisée pour créer l'application.
hamx0r
Ce doit être la réponse acceptée. Dernière version d'Android Studio
Vivekanand
3
Je n'ai que l'api 23 dans le menu déroulant ... J'ai besoin de l'api 10
Reign.85
1
un peu? cet IDE fking change beaucoup entre les versions, provoquant de nombreuses interruptions lors de l'exécution de l'ancien code. Très très pathétique par rapport à l'héritage de compatibilité descendante qui est illustré par Microsoft.
user30478
10

Dans le studio Android, vous pouvez facilement appuyer sur:

  1. Ctrl+ Shift+ Alt+ S.
  2. Si vous avez une version plus récente de android studio, appuyez d'abord sur l'application. Ensuite, passez à l'étape trois comme suit.
  3. Une fenêtre s'ouvrira avec un tas d'options
  4. Allez à Saveurs et c'est en fait tout ce dont vous avez besoin

Vous pouvez également y modifier le contenu versionCodede votre application.

Salah Klein
la source
6

Dans le build.gradlechangement minSdkVersion 13de minSdkVersion 8C'est tout ce que vous devez faire. J'ai résolu mon problème en ne faisant que cela.

defaultConfig {
    applicationId "com.example.sabrim.sbrtest"
    minSdkVersion 8
    targetSdkVersion 20
    versionCode 1
    versionName "1.0"
}
Sabri Meviş
la source
6

Selon cette réponse , vous n'incluez simplement pas minsdkversion dans le manifest.xml, et le système de construction utilisera les valeurs du fichier build.gradle et mettra les informations dans l'apk final.

Étant donné que le système de génération a de toute façon besoin de ces informations, cela est logique. Vous ne devriez pas avoir besoin de définir ces valeurs deux fois.

Il vous suffit de synchroniser le projet après avoir modifié le build.gradlefichier, mais Android Studio 0.5.2 affiche une barre d'état jaune en haut de la fenêtre de l'éditeur build.gradle pour vous aider

Notez également au moins deux build.gradlefichiers: un maître et un pour l'application / module. Celui à modifier est dans l'application / le module, il inclut déjà une propriété minSdkVersiondans un projet nouvellement généré.

Meier
la source
5

Si vous rencontrez des problèmes pour spécifier la cible du SDK aux API Google au lieu du SDK de la plate-forme de base, remplacez simplement le compileSdkVersion 19parcompileSdkVersion "Google Inc.:Google APIs:19"

Juan Reyes
la source
5

Pour la dernière version d'Android Studio v2.3.3 (11 octobre 2017):
1. Cliquez Viewsur la barre de menu
2. Cliquez sur Ouvrir les paramètres du module
3. Ouvrez l' Flavorsonglet
4. Choisissez la Sdkversion minimale dont vous avez besoin
Fenêtre de structure de projet IDE 6. Cliquez sur OK

Rido
la source
4

En plus de mettre à jour le manifeste, mettez également à jour le build.gradlefichier du module (il est répertorié dans le volet projet juste en dessous du manifeste - s'il n'y a pas de minSdkVersionclé, vous cherchez le mauvais, car il y en a quelques-uns). Une reconstruction et tout devrait bien se passer ...

Chris Rolliston
la source
3

Dans Android studio, ouvrez build.gradle et modifiez la section suivante:

defaultConfig {
    applicationId "com.demo.myanswer"
    minSdkVersion 14
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}

ici, vous pouvez changer minSdkVersion de 12 à 14

Dharmendra Pratap
la source
1

La modification de la minSdkVersion dans le manifeste n'est pas nécessaire. Si vous le modifiez dans le fichier de construction gradle, comme indiqué ci-dessous, vous accomplissez ce que vous devez faire.

defaultConfig {
   applicationId "com.demo.myanswer"
   minSdkVersion 14
   targetSdkVersion 23
   versionCode 1
   versionName "1.0"
}
Chris Deck
la source
0

Pour moi, ce qui a fonctionné était: (clic droit) projet-> outils Android-> effacer les marqueurs de peluches. Bien que pour une raison quelconque, le manifeste soit revenu à l'ancien niveau API minimum (inférieur), mais après l'avoir changé au nouveau niveau API (supérieur), il n'y avait pas d'erreur rouge soulignée et le projet utilise maintenant le nouveau niveau API minimum.

Edit: Désolé, je vois que vous utilisiez Android Studio, pas Eclipse. Mais je suppose qu'il existe quelque part des "marqueurs de charpie clairs" similaires dans Studio et cela pourrait résoudre le problème.

Jamppa
la source
0

Gradle Scripts ->
build.gradle (Module: app) ->
minSdkVersion (Your min sdk version)

Hubert Hubert
la source
0

Fichier> Structure du projet> Modules, vous pouvez le modifier à partir de là

Wisam Atil
la source