Cet article explique comment modifier minSdkVersion dans Flutter pour assurer la compatibilité avec les paquets externes. Guide complet pour les versions antérieures et postérieures à la 2.8. Suivez les étapes pour que votre application fonctionne de manière optimale sur différents appareils Android.
Lorsque vous travaillez avec Flutter et utilisez des paquets tiers, vous devez souvent ajuster la minSdkVersion pour répondre aux exigences de ces paquets. Cette valeur détermine la version minimale d’Android capable d’exécuter votre application. Une mauvaise configuration provoque des échecs de compilation ou une incompatibilité avec les utilisateurs. Par conséquent, maîtriser la procédure pour modifier minSdkVersion Flutter est une compétence essentielle pour les développeurs, les techniciens et les créateurs de jeux.
Flutter a introduit des changements significatifs dans la gestion de la configuration Android depuis la version 2.8. Auparavant, les développeurs modifiaient directement le fichier build.gradle. Désormais, une approche plus flexible utilisant local.properties est disponible. Ce guide vous explique les deux méthodes de manière claire et séquentielle. Vous apprendrez quelle technique appliquer selon votre version de Flutter et comment éviter les erreurs courantes.
Consultez toujours la documentation de chaque paquet pour connaître la minSdkVersion requise avant de modifier la configuration de votre projet.
Qu’est-ce que minSdkVersion et pourquoi est-ce important ?
minSdkVersion est un paramètre situé dans le fichier de compilation Gradle. Il définit le niveau d’API Android minimum que votre application supporte. Les appareils fonctionnant sous des versions antérieures d’Android ne peuvent pas installer votre application si leur niveau d’API est inférieur à ce seuil. Ce paramètre devient critique lorsque vous ajoutez des paquets dépendant de fonctionnalités API spécifiques. Par exemple, un paquet de caméra ou de stockage peut exiger minSdkVersion 21 (Android 5.0) ou supérieur.
Choisir la bonne minSdkVersion équilibre la portée de l’audience et les capacités techniques. Une valeur trop basse vous exclut des API modernes. Une valeur trop haute exclut de nombreux utilisateurs potentiels. Les développeurs de jeux recherchant des graphismes hautes performances ont souvent besoin d’API plus récentes. Les développeurs d’applications professionnelles servant des clients d’entreprise peuvent privilégier une compatibilité plus large. C’est pourquoi ce paramètre ne peut pas être ignoré.
Différences clés avant et après Flutter 2.8
Flutter 2.8 a marqué un tournant dans l’architecture de configuration Android. À partir de cette version, l’équipe Flutter recommande une approche centralisée utilisant local.properties. L’ancienne méthode consistant à éditer directement build.gradle fonctionne toujours, mais elle est moins pratique pour les grands projets. Voici les principales différences :
- Versions antérieures à 2.8 : Modifiez minSdkVersion dans le bloc
defaultConfigdu fichierandroid/app/build.gradle. - Versions 2.8 et supérieures : Définissez des propriétés comme
flutter.minSdkVersiondanslocal.properties, puis référencez-les depuisbuild.gradle. - Avantage de la nouvelle méthode : Elle sépare la configuration spécifique à la machine du code source, facilitant ainsi la collaboration en équipe.
Si vous utilisez Flutter 3.x ou une version ultérieure, la méthode post-2.8 reste valide. En fait, cette approche est devenue la norme dans les modèles de nouveaux projets. Par conséquent, maîtriser les deux techniques est utile pour maintenir à la fois les projets hérités et les nouveaux.
Modifier minSdkVersion dans les versions de Flutter antérieures à 2.8
Pour les projets utilisant encore des versions de Flutter plus anciennes que la 2.8, suivez ces étapes simples. Ce processus est également pertinent si vous travaillez avec du code source hérité non migré.
- Ouvrez le fichier build.gradle situé dans Projet > android > app > build.gradle.
- Trouvez le bloc defaultConfig à l’intérieur de la section android.
- Modifiez la valeur de minSdkVersion selon vos besoins. Exemple :
minSdkVersion 23. - Enregistrez le fichier, puis exécutez flutter clean dans votre terminal.
- Recompilez le projet avec flutter run pour tester les modifications.

Assurez-vous de ne pas modifier d’autres paramètres par inadvertance. Une erreur courante consiste à éditer accidentellement compileSdkVersion ou targetSdkVersion. Concentrez-vous uniquement sur minSdkVersion. Après avoir effectué la modification, l’exécution de flutter clean est obligatoire pour vider le cache.
Modifier minSdkVersion dans Flutter 2.8 et versions supérieures
Pour les projets utilisant Flutter 2.8 ou une version ultérieure, utilisez la méthode plus propre décrite ci-dessous. Cette approche est également recommandée pour les équipes car la configuration n’est pas mélangée au code géré par le contrôle de version.
- Ouvrez le fichier local.properties dans Projet > android > local.properties. S’il n’existe pas, il sera créé automatiquement lors de la première compilation.
- Ajoutez les lignes suivantes à la fin du fichier (ou modifiez celles existantes) :
flutter.minSdkVersion=21flutter.targetSdkVersion=30flutter.compileSdkVersion=30 - Ouvrez le fichier build.gradle dans le même dossier (
android/app/build.gradle). - Modifiez la section defaultConfig pour qu’elle ressemble à ceci :
minSdkVersion localProperties.getProperty('flutter.minSdkVersion').toInteger()targetSdkVersion localProperties.getProperty('flutter.targetSdkVersion').toInteger() - Enregistrez les deux fichiers, puis exécutez flutter clean.
- Exécutez flutter run pour vérifier.

L’avantage de cette méthode est que vous pouvez modifier les versions du SDK en ne changeant qu’un seul fichier. Les équipes utilisant le contrôle de version peuvent ignorer local.properties (ajoutez-le au .gitignore), tandis que build.gradle reste cohérent pour tous les membres.
Avertissement important : Après avoir modifié minSdkVersion, exécutez toujours flutter clean et supprimez manuellement le dossier build si nécessaire. Le cache de Gradle conserve parfois d’anciennes valeurs, empêchant la détection du changement.
Vérification et résolution des problèmes courants
Après avoir appliqué les modifications, vérifiez-les avec flutter build apk. En cas de succès, l’APK résultant aura la nouvelle minSdkVersion. Vous pouvez le vérifier à l’aide de l’outil aapt du SDK Android. Exemple de commande :
aapt dump badging app-debug.apk | grep sdkVersion
Voici quelques problèmes courants que vous pourriez rencontrer :
- Erreur « minSdkVersion cannot be less than version declared in library » → Cela signifie qu’un paquet exige une minSdkVersion plus élevée. Augmentez votre valeur selon l’exigence du paquet.
- La synchronisation Gradle échoue → Assurez-vous que la syntaxe d’appel des propriétés dans build.gradle est correcte. Faites attention aux majuscules.
- Les modifications n’ont aucun effet → Supprimez les dossiers .gradle et build dans android/, puis répétez flutter clean.
Si vous utilisez des pipelines CI/CD comme GitHub Actions ou Jenkins, assurez-vous que le fichier local.properties est créé automatiquement avec les valeurs appropriées. Vous pouvez ajouter une étape comme echo "flutter.minSdkVersion=21" >> android/local.properties dans votre script de compilation.
Valeurs recommandées de minSdkVersion pour les applications et les jeux
La sélection de la bonne minSdkVersion doit être basée sur une recherche d’audience. Pour les applications professionnelles visant un large marché, la version 21 (Android 5.0) reste courante car elle couvre plus de 90 % des appareils actifs. Cependant, pour les jeux avec des graphismes lourds (comme ceux utilisant Vulkan ou OpenGL ES 3.2), vous pourriez devoir l’augmenter à 24 (Android 7.0) ou 26 (Android 8.0).
- minSdkVersion 19 (KitKat) → Uniquement pour prendre en charge les appareils très anciens, risque de sécurité élevé.
- minSdkVersion 21 (Lollipop) → Choix équilibré entre portée et fonctionnalités modernes.
- minSdkVersion 23 (Marshmallow) → Prend en charge les autorisations à l’exécution, recommandé pour les nouvelles applications.
- minSdkVersion 26+ (Oreo) → Pour les jeux ou applications exploitant les dernières API comme HDR ou JobScheduler.
De plus, consultez les statistiques de distribution des versions d’Android dans Android Studio via le SDK Manager. Ces données vous aident à prendre des décisions basées sur des preuves, et non sur des suppositions.
Conclusion
Modifier minSdkVersion dans Flutter est une tâche routinière que tout développeur doit maîtriser. Que vous utilisiez une version ancienne (antérieure à 2.8) ou la dernière version, les procédures décrites ci-dessus garantiront que votre application reste compatible avec les paquets externes. Donnez toujours la priorité à flutter clean après toute modification de configuration. Grâce à ces connaissances, vous pouvez éviter les échecs de compilation et offrir la meilleure expérience à vos utilisateurs.
Enfin, n’hésitez pas à tester sur plusieurs appareils émulés avec différents niveaux d’API. Cette étape vérifie que votre application fonctionne réellement avec la minSdkVersion spécifiée. Bon codage et optimisez vos projets Flutter !
