100
10 février 2019

Flutter : créer une release apk et ipa pour les stores Android et iOS

Flutter créer une release apk et ipa pour les stores Android et iOS

Flutter c’est quoi ?

Avant de rentrer dans le sujet de Flutter : créer une release apk et ipa pour les stores Android et iOS, nous allons déjà rappeler ce qu’est Flutter. Vous pouvez aussi lire notre article sur notre retour d’expérience après avoir développé notre première application Flutter.

Donc Flutter, c’est quoi ? Flutter est un SDK (Software Development Kit – Kit de Développement) créé par Google pour générer des applications mobiles Android et iOS. Ce n’est ni plus ni moins qu’une autre solution crossplatforme (multiplatforme) parmi la liste qui existe déjà comme React Native, propulsée par Facebook. Cependant, Flutter dispose d’un atout majeur : même si votre base est développée en Dart, vous pouvez interagir avec les langages natifs Swift et Kotlin. Flutter est aujourd’hui en version stable 1.0 depuis le 4 décembre 2018. Pour finir cette introduction, Flutter fonctionne avec les IDE – Visual Studio Code, Android Studio et IntelliJ, donc compatible sur Linux, Windows et Mac.

Upload votre application Android sur le store

1) Préparer une release pour une app Android

Pour créer vos apk signés prêts à mettre sur le Google Play, je vous conseille de vérifier quelques paramètres.

  • Vérifiez votre fichier AndroidManifest.xml, modifiez votre android:label si besoin, et supprimez android.permission.INTERNET qui a été ajouté par défaut, si votre application n’en a pas besoin.
  • Vérifiez votre build.gradle, changez votre applicationId si besoin ainsi que les versionCode & versionName et le minSdkVersion& targetSdkVersion, toujours si besoin.
  • Et pour finir, vérifiez votre icon launcher. Vous pouvez utiliser une library pour ça : flutter_launcher_icons

Voilà, maintenant qu’on a vérifié tous ces paramètres, nous allons pouvoir commencer la signature de notre application mobile Android créée à partir de flutter.

Tout d’abord il faut créer votre fichier .jks (keystore)

Créez votre keystore en ligne de commande, accédez à votre répertoire bin (C:\Program Files\Java\jre7\bin) et entrez

1
keytool -genkey -v -keystore le_chemin_de_mon_fichier/le_nom_de_mon_fichier.jks -keyalg RSA -keysize 2048 -validity 10000 -alias "votre_alias"

Votre terminal vous invitera ensuite à entrer le reste des informations comme le mot de passe. Sauvegardez bien dans un fichier txt, votre alias et votre mdp.

2) Génerer un build pour une app Android

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
}
}

Je vous conseille aussi d’activer Proguard qui vous permettra de protéger ce code du reverse engineering, car par défaut Flutter ne le fait pas.

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.

Upload votre application iOS sur le store

1) Préparer votre application iOS pour un déploiement sur l’App Store Connect

Requis :
– un compte Apple Developer Program
– avoir déjà publié une application iOS
– votre application Flutter terminée

Commencez par enregistrer votre application sur l’Apple Developer et renseignez son bundle ID.
Créez ensuite l’application sur l’App Store Connect avec le même bundle ID.

2) Générer l’application flutter pour iOS

Ouvrez le projet Xcode de votre application Flutter.
Modifiez son nom, son bundle ID, son icône et son écran de chargement.
Puis sélectionnez son certificat correspondant au bundle ID.

Une fois votre application prête, il va falloir générer l’application par Flutter pour une comptabilité en release.
Pour cela, ouvrez votre projet Flutter, puis lancez la commande :

1
flutter build ios

Une fois l’application générée vous pouvez uploader cette dernière sur le store d’Apple.
Créez une archive de celle-ci puis uploadez-la sur l’App Store Connect.
Quelques minutes plus tard, votre application sera disponible.

Et voilà, vous avez les bases Flutter pour créer une release apk et ipa pour les stores Android et iOS.

Ce tutoriel est loin d’être exhaustif. Pour plus de détails je vous conseille d’aller lire la doc en ligne de Flutter qui est très pratique. Mais si vous avez bien tout suivi, normalement vous pouvez déployer votre application mobile Flutter sur l’App Store et le Google Play.

Voici les liens officiels pour générer une release android et ios.

VOUS EN VOULEZ ENCORE ?

CHANGER D'UNIVERS !