Après que j’ai connecté mon application Flutter à Firestore, je me suis mangé cette splendide erreur multidex dans Flutter empêchant tout lancement de l’émulateur Android : Error:Cannot fit requested classes in a single dex file

C’est ce qui arrive quand on dépasse la taille maximale autorisée pour le fichier de classes Dex.

En guise de pense-bête, voici comment autoriser le multidex dans Flutter Android pour se débarrasser de l’erreur.

Autoriser le multidex pour Flutter

La manip est tout ce qu’il y a de plus bête, d’autant qu’elle n’impacte que 2 fichiers de l’arborescence :

erreur multidex dans Flutter
  • mon_projet > android > app > build.gradle (ne vous plantez pas en prenant l’autre)
  • mon_projet > android > app > gradle.properties

Les modifications multidex dans build.gradle

Dans mon_projet > android > app > build.gradle, il faut ajouter multiDexEnabled true et passer idéalement le minSdkVersion à 21.

    defaultConfig {

        ...
        minSdkVersion 21
        multiDexEnabled true
    }

Toujours dans ce fichier, il convient d’ajouter la ligne implementation ‘com.android.support:multidex:1.0.3’ dans dependencies.

dependencies {
    ...
    implementation 'com.android.support:multidex:1.0.3'
}

Les modifications multidex dans gradle.properties – Ajouter Jetifier

Et dans mon_projet > android > app > gradle.properties, il faut s’assurer que android.useAndroidX et android.enableJetifier sont présents et positionnés à true pour ajouter Jetifier, comme ci-dessous. Ajoutez les si elles sont manquantes

android.useAndroidX=true
android.enableJetifier=true

Il reste maintenant à sauvegarder les fichiers et relancer l’émulateur.

A lire aussi
Quelle expression pour (presque) échapper aux systèmes de reconnaissance faciale ?

Laisser un commentaire