Créer un fichier APK à partir de votre application Flutter
Sommaire
- 1- Objectifs d'apprentissage :
- 2- Présentation
- 3- Définition
- 4- Configurer l'environnement de développement pour la création d'un fichier APK.
- 4.1- Configuration du manifeste Android :
- 4.1.1- Autorisations nécessaires :
- 4.1.2- Configurations de l'application :
- 5- Génération de la clé de signature (Optionnel mais recommandé) :
- 5.1- Pourquoi une clé de signature ?
- 5.2- Génération de la clé de signature
- 5.3- Utilisation de la clé de signature
- 5.4- Sauvegarde de la clé de signature
- 6- Configuration du fichier de signature dans Gradle :
- 6.1- Ouvrir le fichier android/app/build.gradle
- 6.2- Configurer les informations de votre clé de signature
- 6.3- Configurer le mode de build release
- 6.4- Configurer le mode de build debug (optionnel)
- 7- Construction de l'APK :
- 7.1.1- Sommaire du cours Flutter
Créer un fichier APK à partir de votre application Flutter
-
Objectifs d’apprentissage :
- Comprendre les prérequis pour la création d’un fichier APK.
- Configurer l’environnement de développement pour la création d’un fichier APK.
- Générer un fichier APK à partir de votre application Flutter.
- Signer et aligner le fichier APK.
- Tester et publier le fichier APK.
-
Présentation
- Flutter est un framework open-source conçu pour développer des applications multiplateformes, permettant ainsi la création d’applications pour Android et iOS à partir d’un seul code source.
- Lors de la phase finale du développement d’une application, il est essentiel de générer un fichier APK (Android Package Kit) pour la publication sur le Play Store. Dans ce guide, nous vous expliquerons comment générer un fichier APK à partir de votre projet Flutter.
-
Définition
- Un fichier APK (Android Package Kit) est le format de fichier standard utilisé pour distribuer et installer des applications sur les appareils Android.
- Format de fichier : Un fichier APK est un fichier d’archive compressé au format ZIP qui contient tous les éléments nécessaires pour exécuter une application Android.
- Contenu du fichier : Un fichier APK contient généralement les éléments suivants :
- Code de l’application (fichiers .dex)
- Ressources de l’application (images, sons, fichiers de configuration, etc.)
- Manifeste de l’application (fichier AndroidManifest.xml)
- Signature numérique de l’application
- Signature numérique : Chaque fichier APK doit être signé numériquement par le développeur de l’application. Cette signature garantit l’intégrité de l’application et permet à Android de vérifier qu’elle provient de la source de confiance attendue.
- Installation sur l’appareil : Lorsqu’un utilisateur télécharge et installe un fichier APK sur son appareil Android, le système Android décompresse le fichier, vérifie la signature numérique et installe l’application sur l’appareil.
- Versions de l’application : Différentes versions d’une même application peuvent être distribuées sous la forme de fichiers APK distincts, chacun avec sa propre version, ses paramètres de configuration et ses fonctionnalités.
- Sécurité : Le format APK offre un certain niveau de sécurité, car les applications doivent être signées numériquement avant d’être installées. Cela empêche les utilisateurs d’installer des applications malveillantes.
- Compatibilité : Le fichier APK est conçu pour être compatible avec les différentes versions d’Android, permettant ainsi une large adoption de votre application sur de nombreux appareils.
-
Configurer l’environnement de développement pour la création d’un fichier APK.
- Voici un guide étape par étape pour configurer votre environnement de développement afin de créer un fichier APK à partir de votre projet Flutter :
-
Configuration du manifeste Android :
- Assurez-vous que le fichier android/app/src/main/AndroidManifest.xml est correctement configuré, notamment en ce qui concerne les autorisations nécessaires et les paramètres de configuration de votre application.
-
Autorisations nécessaires :
- Internet : Si votre application nécessite l’accès à Internet, assurez-vous que la permission android.permission.INTERNET est incluse dans le manifeste. Exemple :
- Accès au stockage externe (facultatif) : Si votre application doit accéder au stockage externe de l’appareil, ajoutez la permission android.permission.WRITE_EXTERNAL_STORAGE ou android.permission.READ_EXTERNAL_STORAGE selon vos besoins. Exemple :
- Accès à la localisation (facultatif) : Si votre application utilise des fonctionnalités de localisation, incluez la permission android.permission.ACCESS_FINE_LOCATION ou android.permission.ACCESS_COARSE_LOCATION dans le manifeste. Exemple :
- Autres autorisations : Incluez toute autre autorisation nécessaire pour les fonctionnalités spécifiques de votre application.
-
Configurations de l’application :
- Nom du package (package name) : Assurez-vous que l’attribut package de l’élément
correspond au nom du package de votre application Flutter. Exemple : - Version du SDK cible (targetSdkVersion) : Spécifiez la version du SDK Android cible utilisée par votre application. Assurez-vous qu’elle est à jour pour bénéficier des dernières fonctionnalités de sécurité et de compatibilité. Exemple :
- Version minimale du SDK (minSdkVersion) : Définissez la version minimale du SDK Android requise pour exécuter votre application. Exemple :
- Activité principale (main activity) : Vérifiez que l’activité principale de votre application est correctement définie et configurée avec l’intention de lancer votre application Flutter. Exemple :
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.my_flutter_app">
<uses-sdk android:targetSdkVersion="31" />
<uses-sdk android:minSdkVersion="21" />
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
>intent-filter>
>action android:name="android.intent.action.MAIN"/>
>category android:name="android.intent.category.LAUNCHER"/>
>/intent-filter>
>/activity>
Génération de la clé de signature (Optionnel mais recommandé) :
- Générez une clé de signature pour votre application. Cela garantira que votre application est signée de manière sécurisée avant d’être distribuée. Vous pouvez utiliser l’outil keytool fourni avec le kit de développement Java (JDK) pour générer une clé de signature. Voici un exemple de commande pour générer une clé de signature :
keytool -genkey -v -keystore nom_de_la_clé.keystore -alias alias_de_la_clé -keyalg RSA -keysize 2048 -validity 10000
-
Pourquoi une clé de signature ?
- La clé de signature est utilisée pour signer numériquement votre application Android.
- Cette signature garantit l’intégrité de votre application et permet à Android de vérifier que les mises à jour proviennent de la même source.
- La clé de signature est essentielle pour publier votre application sur le Google Play Store.
-
Génération de la clé de signature
- Ouvrez Android Studio et accédez aux « Preferences » (ou « Settings » sur Windows).
- Accédez à la section « Build, Execution, Deployment » > « Signing ».
- Cliquez sur « Create new… » pour générer une nouvelle clé de signature.
- Remplissez les informations requises, telles que l’alias, le mot de passe, les détails du propriétaire, etc.
- Android Studio génèrera alors votre clé de signature.
-
Utilisation de la clé de signature
- Lors de la génération du fichier APK, vous devrez spécifier les informations de votre clé de signature.
- Cela permettra à Android de vérifier l’intégrité de votre application lors de l’installation.
- Vous devrez utiliser la même clé de signature pour toutes les mises à jour futures de votre application.
-
Sauvegarde de la clé de signature
- Assurez-vous de sauvegarder votre clé de signature en lieu sûr.
- Si vous perdez votre clé, vous ne pourrez pas publier de mises à jour pour votre application.
Configuration du fichier de signature dans Gradle :
- Une fois que vous avez généré votre clé de signature, vous devez la configurer dans votre fichier Gradle pour pouvoir générer un fichier APK signé. Voici les étapes à suivre :
-
Ouvrir le fichier android/app/build.gradle
- Ce fichier se trouve dans le répertoire de votre projet Flutter.
- Trouver la section signingConfigs
- Si cette section n’existe pas, vous pouvez l’ajouter.
-
Configurer les informations de votre clé de signature
-
Configurer le mode de build release
- Assurez-vous que le mode release utilise la configuration de signature que vous venez de définir.
-
Configurer le mode de build debug (optionnel)
- Vous pouvez également configurer le mode debug pour utiliser la même clé de signature, bien que ce ne soit pas obligatoire.
- Une fois ces étapes terminées, votre fichier Gradle sera correctement configuré pour générer un fichier APK signé numériquement. Cela vous permettra de publier votre application Flutter sur le Google Play Store ou de la distribuer en toute sécurité.
signingConfigs {
release {
keyAlias 'your_key_alias'
keyPassword 'your_key_password'
storeFile file('path/to/your/keystore.jks')
storePassword 'your_store_password'
}
}
Remplacez les valeurs par celles de votre clé de signature générée précédemment.
buildTypes {
release {
signingConfig signingConfigs.release
// Autres configurations pour le mode release
}
}
buildTypes {
debug {
signingConfig signingConfigs.release
// Autres configurations pour le mode debug
}
}
Construction de l’APK :
- Parfait, maintenant que vous avez configuré votre fichier Gradle avec les informations de votre clé de signature, vous pouvez passer à la construction de votre fichier APK signé. Voici les étapes à suivre :
- Ouvrir un terminal dans votre projet Flutter
- Vous pouvez utiliser le terminal intégré de votre IDE, par exemple Android Studio ou Visual Studio Code.
- Exécuter la commande de construction
- Cette commande va générer un fichier APK signé dans le répertoire build/app/outputs/flutter-apk/.
- Vérifier le fichier APK généré
- Assurez-vous que le fichier APK a bien été généré dans le répertoire indiqué.
- Vous pouvez également vérifier les informations de signature du fichier APK, par exemple avec un outil comme apksigner ou jarsigner.
- Distribuer le fichier APK
- Vous pouvez maintenant distribuer votre fichier APK signé aux utilisateurs ou le publier sur le Google Play Store.
- Quelques points à noter :
- Lors de la construction de l’APK, Flutter utilise les configurations définies dans votre fichier android/app/build.gradle.
- Si vous avez correctement configuré votre clé de signature, le fichier APK généré sera signé numériquement.
- Assurez-vous de toujours utiliser la même clé de signature pour les mises à jour futures de votre application.
- N’oubliez pas de garder votre clé de signature en lieu sûr et de la sauvegarder régulièrement.
flutter build apk --release