web-dev-qa-db-fra.com

Comment définir le niveau minimal d'api pour les projets dans Android Studio?

J'ai récemment migré un projet dans Android Studio 0.4.3 . Lors de la compilation, des erreurs se produisaient sur plusieurs lignes de Java, notamment:

FragmentManager fm = getFragmentManager();

fm.findFragmentById()

@Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

getResources().getStringArray(R.array.course_descriptions); 

Je vois le message d'erreur suivant:

Call requires API level 11 (current min is 7)

J'utilise Android Studio .0.4.3. J'ai également téléchargé Android 4.4.2 (API 19) via le gestionnaire de SDK.

J'ai ajouté la ligne suivante à mon manifeste:

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

J'ai fait un "projet de synchronisation avec des fichiers Gradle", nettoyé et reconstruit le projet . Je vois toujours les mêmes erreurs.

Comment résoudre ce problème?

15
JohnB

J'ai la version 0.8.6 et cela peut être fait comme ceci:

Dans le menu: Fichier -> Structure du projet.

Dans le menu ouvert, accédez à app, puis dans les onglets, choisissez Flavors.

enter image description here

31
AsfK

Si vous avez généré votre projet sur les versions récentes d'Android Studio, le paramètre est défini dans le fichier de configuration de dégradé. Recherchez le fichier build.gradle dans votre module d'application. Il devrait y avoir quelque chose comme ça.

defaultConfig {
    minSdkVersion 7
    targetSdkVersion 19
    versionCode 1
    versionName "1.0"
}
15
Yuichi Araki

À partir de Gradle Build System, tous vos paramètres liés aux API de compilation et de SDK seront remplacés par ceux que vous définissez dans votre fichier build.gradle

Donc, si vous le souhaitez, vous pouvez supprimer toutes ces configurations de votreAndroidManifest.xmlet les conserver dans des fichiers build.gradle uniquement pour éviter toute confusion.

Vérifiez donc minSdkVersion dans le fichier build.gradle du module qui génère l'erreur.

Android {
    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    defaultConfig {
        minSdkVersion 7      // Change 7 to 11 will solve your problem
        targetSdkVersion 19
    }

}

Je préfère avoir toutes ces configurations dans mon fichier build.gradle de niveau projet supérieur, car si les configurations sont différentes dans des modules différents, vous obtenez une erreur de fusion de manifeste. 

6
pyus13

App complète/build.gradle minSdkVersion, targetSdkVersion

apply plugin: 'com.Android.application'
Android {
compileSdkVersion 22
buildToolsVersion "22.0.1"

defaultConfig {
    applicationId "com.yourapp.package"
    minSdkVersion 18
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
    }
}

packagingOptions {
    exclude 'LICENSE.txt'
}
}

dependencies {
androidTestCompile fileTree(dir: 'libs', include: '*.jar')
androidTestCompile('com.squareup.assertj:assertj-Android:1.0.0'){
    exclude group: 'com.Android.support', module:'support-annotations'
    }
}
1
Shivaraj Patil

Suivez simplement les étapes (Pour les utilisateurs de studio Android):

  1. clic droit sur le répertoire App
  2. choisissez l'option "paramétrage du module"
  3. changez la plate-forme ADK selon vos besoins 
  4. Cliquez sur Appliquer

C'est tout mon pote, le diplômé reconstruira automatiquement le projet.

1
Yasin