Préparer la publication de votre application

Pour préparer la publication de votre application, vous devez en configurer, en compiler et en tester une version. Les tâches de configuration impliquent des tâches élémentaires de nettoyage et de modification du code afin d'optimiser l'application. Le processus de compilation est semblable à celui du débogage et peut être effectué à l'aide des outils JDK et SDK Android.

Les tâches de test permettent de vérifier que l'application fonctionne comme prévu dans des conditions réelles. Firebase propose un large éventail d'appareils de test physiques et virtuels via Firebase Test Lab. Ils vous permettent d'améliorer la qualité de votre application.

Une fois la préparation de votre application terminée, vous disposez d'un fichier APK signé que vous pouvez distribuer aux utilisateurs directement ou par le biais d'une place de marché d'applications telle que Google Play.

Ce document récapitule les principales tâches à effectuer pour préparer votre application en vue de sa publication. Les tâches décrites sur cette page s'appliquent à toutes les applications Android, quelle que soit la façon dont elles sont publiées ou distribuées aux utilisateurs. Si vous publiez votre application via Google Play, consultez la section Publier en toute confiance.

Remarque : Avant d'effectuer les tâches décrites sur cette page, vérifiez que votre application répond à tous vos critères de publication en termes de fonctionnalités, de performances et de stabilité.

Montre comment le processus de préparation s'intègre dans le processus de développement

Figure 1. La préparation de la publication est une tâche de développement obligatoire qui constitue la première étape du processus de publication.

Tâches de préparation de la publication

Pour mettre votre application à la disposition des utilisateurs, vous devez créer un package prêt à être publié que les utilisateurs peuvent installer et exécuter sur leurs appareils Android. Le package prêt à être publié contient les mêmes composants que le fichier APK de débogage (code source compilé, ressources, fichier manifeste, etc.), et il est compilé à l'aide des mêmes outils de compilation. Toutefois, contrairement au fichier APK de débogage, le fichier APK prêt à être publié est signé avec votre propre certificat et optimisé avec l'outil zipalign.

Illustre les cinq tâches à effectuer pour préparer la publication de votre application

Figure 2. Vous devez effectuer cinq tâches principales pour préparer la publication de votre application.

Les tâches de signature et d'optimisation sont généralement aisées lorsque vous compilez votre application avec Android Studio. Par exemple, vous pouvez utiliser Android Studio avec les fichiers de compilation Gradle pour compiler, signer et optimiser votre application en une seule fois. De même, vous pouvez utiliser les fichiers de compilation Gradle lorsque vous compilez l'application à partir de la ligne de commande. Pour en savoir plus sur l'utilisation des fichiers de compilation Gradle, consultez la section Configurer votre build.

Pour préparer la publication de votre application, cinq tâches principales sont généralement nécessaires, comme l'illustre la figure 2. Chacune de ces tâches peut inclure une ou plusieurs sous-tâches, selon l'approche que vous adoptez pour publier votre application. Par exemple, si vous publiez votre application via Google Play, vous pouvez ajouter des règles de filtrage spéciales au fichier manifeste lorsque vous configurez votre application en vue de sa publication. De même, pour respecter les consignes de publication de Google Play, vous devrez peut-être préparer des captures d'écran et créer un texte promotionnel au moment où vous rassemblerez les supports pour la publication.

Une fois que vous avez complètement débogué et testé votre application, vous devez généralement effectuer les tâches illustrées à la figure 2. Le SDK Android contient plusieurs outils à cet effet. Pour en savoir plus, consultez la section Déboguer votre application et Tester votre application.

Rassembler les supports et les ressources

Pour préparer la publication de votre application, vous devez rassembler plusieurs ressources et supports pertinents, comme des clés cryptographiques de signature et une icône d'application. Vous pouvez également inclure un contrat de licence utilisateur final.

Clés cryptographiques

Android exige que tous les APK soient signés à l'aide d'un certificat numérique avant de pouvoir être installés ou mis à jour sur un appareil. Pour le Google Play Store, toutes les applications créées après août 2021 doivent utiliser la signature d'application Play. Toutefois, pour importer l'AAB dans la Play Console, vous devez toujours le signer avec votre certificat de développeur. Les anciennes applications peuvent toujours être autosignées. Toutefois, que vous utilisiez la signature d'application Play ou l'autosignature, vous devrez signer votre application avant de pouvoir l'importer.

Pour en savoir plus sur les conditions requises concernant les certificats, consultez Signer votre application.

Important : Votre application doit être signée avec une clé cryptographique dont la période de validité se termine après le 22 octobre 2033.

Vous pouvez également être amené à vous procurer d'autres clés si votre application accède à un service ou utilise une bibliothèque tierce qui exige l'utilisation d'une clé basée sur votre clé privée.

Icône de l'application

L'icône de votre application permet aux utilisateurs d'identifier cette dernière sur l'écran d'accueil et dans la fenêtre du lanceur. Elle apparaît également dans "Gérer les applications", "Mes téléchargements" et ailleurs. En outre, cette icône est présentée aux utilisateurs des services de publication comme Google Play. Vérifiez que vous disposez d'une icône d'application et qu'elle respecte les consignes relatives aux icônes.

Remarque : Si vous publiez votre application sur Google Play, vous devrez créer une version haute résolution de votre icône. Pour en savoir plus, consultez la section Ajouter des assets de prévisualisation pour présenter votre application.

Contrat de licence utilisateur final

Pensez à préparer un contrat de licence utilisateur final (CLUF) pour votre application. Un CLUF peut protéger votre personne, votre organisation et votre propriété intellectuelle. Nous vous recommandons donc d'en fournir un avec votre application.

Supports divers

Vous devrez peut-être également préparer des supports promotionnels et marketing afin de mettre en avant votre application. Par exemple, si vous publiez votre application sur Google Play, vous devrez préparer un texte promotionnel et créer des captures d'écran de votre application. Pour en savoir plus, consultez la section Ajouter des assets de prévisualisation pour présenter votre application.

Configurer la publication de votre application

Une fois que vous avez réuni tous les supports nécessaires, vous pouvez commencer à configurer votre application en vue de sa publication. Cette section récapitule les modifications de configuration que nous vous recommandons d'apporter au code source, aux fichiers de ressources et au fichier manifeste de l'application avant de la publier.

Bien que la plupart des modifications de configuration présentées dans cette section soient facultatives, elles sont considérées comme de bonnes pratiques de codage. Nous vous encourageons donc à les appliquer. Dans certains cas, vous avez peut-être déjà apporté ces modifications de configuration lors du processus de développement.

Choisir un ID d'application approprié

Veillez à choisir un ID d'application adapté à toute la durée de vie de votre application. Vous ne pourrez pas modifier l'ID application après avoir distribué votre application aux utilisateurs. Pour définir cet ID, utilisez la propriété applicationId dans le fichier build.gradle ou build.gradle.kts au niveau du module. Pour en savoir plus, consultez la section Définir l'ID d'application.

Désactiver le débogage

Pour faire en sorte que l'APK puisse être débogué, utilisez l'option debuggable pour Groovy ou l'option isDebuggable pour le script Kotlin :

Kotlin

  android {
    ...
    buildTypes {
      release {
        isDebuggable = false
        ...
      }
      debug {
        isDebuggable = true
        ...
      }
    }
    ...
  }
  

Groovy

  android {
    ...
    buildTypes {
      release {
        debuggable false
        ...
      }
      debug {
        debuggable true
        ...
      }
    }
    ...
  }

Activer et configurer la minification de votre application

La plupart des optimisations suivantes peuvent être automatisées grâce à l'activation de la minification de votre build. Par exemple, vous pouvez ajouter des règles ProGuard pour supprimer les instructions de journalisation. Le minificateur identifiera et supprimera le code et les ressources inutilisés. Le minificateur peut également remplacer les noms de classe et de variable par des noms plus courts afin de réduire davantage la taille des fichiers DEX.

Désactiver la journalisation

Désactivez la journalisation avant de compiler votre application en vue de sa publication. Pour ce faire, supprimez les appels aux méthodes Log dans les fichiers sources. Supprimez également les fichiers journaux ou les fichiers de test statiques qui ont été créés dans votre projet.

Vous devez aussi supprimer tous les appels de traçage Debug que vous avez ajoutés au code, comme les appels de méthode startMethodTracing() et stopMethodTracing().

Important : Veillez à désactiver le débogage de votre application si vous utilisez WebView pour afficher du contenu payant ou si vous utilisez des interfaces JavaScript, car le débogage permet aux utilisateurs d'injecter des scripts et d'extraire du contenu à l'aide des outils pour les développeurs Chrome. Pour désactiver le débogage, utilisez la méthode WebView.setWebContentsDebuggingEnabled().

Nettoyer les répertoires de votre projet

Nettoyez votre projet et assurez-vous qu'il est conforme à la structure de répertoires décrite dans la section Présentation des projets. La présence de fichiers errants ou orphelins dans votre projet peut empêcher la compilation de l'application et altérer son comportement. Effectuez au minimum les tâches de nettoyage suivantes :

  • Examinez le contenu des répertoires cpp/, lib/ et src/. Le répertoire cpp/ ne doit contenir que les fichiers sources associés au NDK Android, tels que les fichiers sources C ou C++, les fichiers d'en-tête ou les fichiers makemake. Le répertoire lib/ ne doit contenir que des fichiers de bibliothèques tierces ou privées, y compris des bibliothèques partagées et statiques prédéfinies. Le répertoire src/ ne doit contenir que les fichiers sources de votre application (fichiers Java, Kotlin et AIDL). Le répertoire src/ ne doit contenir aucun fichier JAR.
  • Recherchez dans votre projet d'éventuels fichiers de données privés ou propriétaires que votre application n'utilise pas, et si vous en trouvez, supprimez-les. Par exemple, recherchez dans le répertoire res/ de votre projet d'anciens fichiers drawable, fichiers de mise en page et fichiers de valeurs que vous n'utilisez plus, et supprimez-les.
  • Dans le répertoire lib/, recherchez les bibliothèques de test et supprimez-les si elles ne sont plus utilisées par votre application.
  • Examinez le contenu des répertoires assets/ et res/raw/ pour rechercher les fichiers d'assets bruts et les fichiers statiques que vous devez mettre à jour ou supprimer avant la publication.

Examiner et mettre à jour votre fichier manifeste et vos paramètres de compilation Gradle

Vérifiez que les éléments suivants du fichier manifeste et des fichiers de compilation sont correctement définis :

  • Élément <uses-permission>

    Spécifiez uniquement les autorisations pertinentes et obligatoires pour votre application.

  • Attributs android:icon et android:label

    Vous devez spécifier des valeurs pour ces attributs, qui se trouvent dans l'élément <application>.

  • Propriétés versionCode et versionName

    Nous vous recommandons de spécifier des valeurs pour ces propriétés, qui se trouvent dans le fichier build.gradle ou build.gradle.kts au niveau du module de l'application. Pour en savoir plus, consultez la section Gérer les versions de votre application.

Si vous publiez votre application sur Google Play, vous pouvez définir d'autres éléments des fichiers de compilation (par exemple, les attributs minSdk et targetSdk, situés dans le fichier build.gradle ou build.gradle.kts au niveau du module de l'application). Pour en savoir plus sur ces paramètres et sur d'autres paramètres Google Play, consultez la section Filtres sur Google Play.

Résoudre les problèmes de compatibilité

Android fournit différents outils et techniques pour rendre votre application compatible avec un large éventail d'appareils. Pour que votre application soit accessible au plus grand nombre d'utilisateurs, procédez comme suit :

Ajoutez la prise en charge de différentes configurations d'écran.
Assurez-vous de respecter les bonnes pratiques de prise en charge de différents écrans. En prenant en charge différentes configurations d'écran, vous créerez une application qui fonctionne correctement et qui convient à toutes les tailles d'écran compatibles avec Android.
Optimisez votre application pour les écrans de grande taille.
Vous pouvez optimiser votre application pour qu'elle fonctionne bien sur les grands écrans comme les tablettes et les pliables. Par exemple, les mises en page de type liste/détails améliorent la facilité d'utilisation sur les grands écrans.
Envisagez d'utiliser des bibliothèques Jetpack.
Jetpack est une suite de bibliothèques qui permet aux développeurs de suivre les bonnes pratiques, de réduire le code récurrent et d'écrire du code qui fonctionne de manière cohérente sur toutes les versions d'Android et sur tous les appareils.

Mettre à jour les URL des serveurs et des services

Si votre application accède à des serveurs ou services distants, veillez à utiliser l'URL ou le chemin d'accès de production du serveur ou du service, et non une URL ou un chemin de test.

Implémenter des licences pour Google Play

Si vous publiez une application payante via Google Play, pensez à ajouter la prise en charge du service de gestion des licences Google Play. Le service de gestion des licences vous permet de contrôler l'accès à votre application selon que l'utilisateur actuel l'a achetée ou non. L'utilisation du service de gestion des licences Google Play est facultative, même si vous publiez votre application par le biais de Google Play.

Pour en savoir plus sur ce service et sur son utilisation dans votre application, consultez la section Gestion des licences.

Compiler votre application en vue de sa publication

Une fois la configuration de votre application terminée, vous pouvez l'intégrer dans un fichier APK signé et optimisé. Ce fichier est prêt à être publié. Le JDK comprend les outils de signature du fichier APK (Keytool et Jarsigner). Et le SDK Android comprend les outils de compilation et d'optimisation du fichier APK. Si vous utilisez Android Studio ou le système de compilation Gradle à partir de la ligne de commande, vous pouvez automatiser l'ensemble du processus de compilation. Pour en savoir plus sur la configuration des builds Gradle, consultez la section Configurer des variantes de compilation.

Si vous utilisez un système d'intégration continue, vous pouvez configurer une tâche pour automatiser le processus de publication. Ce processus ne se limite pas à la création du fichier APK ou de l'AAB de votre version. Vous pouvez également le configurer pour que les artefacts de compilation soient automatiquement importés dans la Play Console.

Compiler une application avec Android Studio

Vous pouvez utiliser le système de compilation Gradle intégré à Android Studio pour compiler un fichier APK prêt à être publié. Celui-ci est signé avec votre clé privée et optimisé. Pour découvrir comment configurer et exécuter des builds à partir d'Android Studio, consultez la section Créer et exécuter votre application.

Pour lancer le processus de compilation, vous devez disposer d'un certificat et d'une clé privée adaptés à la signature de votre application. Si vous n'en avez pas, Android Studio peut vous aider à en générer. Pour en savoir plus sur le processus de signature, consultez la section Signer votre application.

Préparer les ressources et les serveurs externes

Si votre application repose sur un serveur distant, assurez-vous que celui-ci est sécurisé et configuré pour une utilisation en production. Ceci est particulièrement important si vous implémentez la facturation des achats in-app dans votre application et que l'étape de vérification de la signature s'effectue sur un serveur distant.

En outre, si votre application extrait du contenu à partir d'un serveur distant ou d'un service en temps réel (par exemple, un flux de contenu), assurez-vous que le contenu que vous fournissez est à jour et prêt pour la production.

Tester votre application en vue de sa publication

Tester la version finale de votre application vous permet de vérifier qu'elle s'exécute correctement dans des conditions réalistes d'utilisation d'appareils et de réseaux. Idéalement, testez votre application sur au moins un appareil de la taille d'un téléphone portable et un appareil de la taille d'une tablette pour vous assurer que les éléments de l'interface utilisateur sont correctement dimensionnés et que les performances de votre application ainsi que l'efficacité de la batterie sont acceptables. Firebase Test Lab peut également être utile pour tester plusieurs appareils et versions d'OS Android.

Avant de commencer les tests, consultez la section Critères fondamentaux de qualité des applications. Une fois les tests effectués, et après vous être assuré que la version de votre application fonctionne correctement, vous pouvez la proposer aux utilisateurs. Pour en savoir plus, consultez la section Publier votre application.