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?
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
.
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"
}
À 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.xml
et 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.
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'
}
}
Suivez simplement les étapes (Pour les utilisateurs de studio Android):
C'est tout mon pote, le diplômé reconstruira automatiquement le projet.