A) Préparation :
Créez une clef de cryptage :
Sous UNBUNTU, ouvrez un terminal et tapez :
keytool -genkey -v -keystore <<nom_mag>>.jks -keyalg RSA -keysize 2048 -validity 10000 -alias « <<votre_nom>> »
Ensuite il faudra communiquer à votre application le keystore qu’elle doit utiliser.
La façon la plus simple et de le définir dans votre build.gradle
1 2 3 4 5 6 7 8 9 10 11 12 13 | signingConfigs { release { keyAlias ‘votre alias’ keyPassword ‘votre mdp’ storeFile file(« chemin de votre ordinateur vers le fichier jks. ») storePassword ‘votre mdp’ } } buildTypes { release { signingConfig signingConfigs.release } } |
Créez un fichier dans votre app/proguard-rules.pro et ajoutez ces lignes
1 2 3 4 5 6 7 | #Flutter Wrapper -keep class io.flutter.app.** { *; } -keep class io.flutter.plugin.** { *; } -keep class io.flutter.util.** { *; } -keep class io.flutter.view.** { *; } -keep class io.flutter.** { *; } -keep class io.flutter.plugins.** { *; } |
Ajoutez juste ces lignes de code.
1 2 3 4 5 6 7 8 9 10 | buildTypes { release { signingConfig signingConfigs.release minifyEnabled true useProguard true proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } |
Enfin vous n’avez plus qu’a lancer la commande Flutter build apk dans votre console Flutter
Votre release Apk a été créée dans chemin_de_votre_app/build/app/outputs/apk/release/app-release.apk. Vous savez donc pour Flutter créer une release apk et ipa pour les stores Android et iOS.
Modification 2022 Gradle :
buildTypes {
release {
signingConfig signingConfigs.release
//minifyEnabled true
//useProguard true
//proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
B) Compiltaion :
Lancer le build dans une fenêtre Terminal : flutter build apk
Modification 2022 : flutter clean && flutter build appbundle –release
ou avec flavor : flutter clean && flutter build appbundle –flavor prod -t lib/main.dart
Le résultat sera dans le répertoire de votre application : build/app/outputs/flutter-apk/app-release.apk
Pour ajouter la validation d’Android Auto aller sur https://play.google.com/console/ menu Configuration / Paramètre avancé
Références :
https://flutter.dev/docs/deployment/android