Sur cette page

Déployer une application sur Android

Cet article décrit les étapes techniques nécessaires au déploiement d'une application Qt sur un appareil Android.

Options d'emballage pour Android

Vous pouvez empaqueter le code sur Android de trois manières : soit sous forme de paquet d'applications (APK), soit sous forme d'ensemble d'applications Android (AAB), soit sous forme d'archives Android (AAR). Chacun de ces formats est un type spécifique de format ZIP qui suit une structure de répertoire prédéfinie. Les différences entre ces formats sont les suivantes :

  • Les fichiers APK peuvent être déployés et exécutés sur un appareil.
  • Un AAB est destiné à être interprété par le magasin Google Play et est utilisé pour générer des fichiers APK pour différentes architectures d'appareils et facteurs de forme.
  • Un AAR diffère fondamentalement des formats APK et AAB dans la mesure où il s'agit d'une bibliothèque Android. Vous pouvez l'utiliser comme dépendance d'un module d'application Android, mais vous ne pouvez pas l'exécuter seul. Pour plus d'informations, voir Android : Android Archive (AAR).

Ensemble d'applications Android

Pour tester l'application localement, le format APK est approprié, car il peut être installé et exécuté directement sur l'appareil. Pour la distribution dans la boutique Google Play, il est recommandé d'utiliser le format AAB, qui a une présentation similaire. L'avantage supplémentaire de l'AAB est que vous pouvez inclure tous les ABI cibles dans le même paquet sans augmenter la taille du paquet réel téléchargé par vos utilisateurs. Lorsque vous utilisez AAB, Google Play Store génère des paquets APK optimisés pour les appareils qui émettent la demande de téléchargement et les signe automatiquement avec votre clé d'éditeur. Pour plus d'informations, voir Publication sur Google Play.

Pour plus d'informations sur le format AAB, consultez la section Bundles d'applications Android.

Dans les deux cas, le bundle d'application est généré à partir d'une structure de répertoire spécifique qui contient les bibliothèques shared de votre projet et les dépendances de Qtt nécessaires à votre application. En outre, tous les actifs, ressources, fichiers jar ou code Java du projet sont compilés et inclus.

Génération de l'ensemble d'applications

Il est recommandé d'utiliser Qt Creator pour déployer les applications Qt pour Android. Sinon, il est possible de le faire en ligne de commande à l'aide de CMake ou qmake. Pour plus d'informations, voir Construire des projets Qt pour Android à partir de la ligne de commande.

Le processus d'empaquetage et de déploiement est géré par CMake ou qmake qui, sous le capot, utilisent l'outil androiddeployqt pour gérer les spécificités de la construction et du déploiement d'une application Android. Qt Creator utilise également le même outil.

Extension de Qt avec des facilités Android

Par défaut, Qt pour Android fait le gros du travail pour rendre une application Android opérationnelle, en ayant les API les plus utiles disponibles directement à partir de Qt, ou en utilisant QJniObject pour invoquer des API qui ne sont pas facilement disponibles. Il en va de même pour CMake, qui gère les différents cas de construction et de déploiement. Cependant, dans d'autres cas, il peut être nécessaire de disposer de toute la puissance des installations natives d'Android, comme l'écriture de code Java/kotlin ou l'utilisation de la gestion des ressources d'Android. Qt permet cela en permettant à l'utilisateur d'étendre l'ensemble des modèles.

Les modèles par défaut utilisés par Qt se trouvent dans le chemin d'installation de Qt pour Android, par exemple sous ~/Qt/<version>/android_<abi>/src/android/templates pour Unix. Pour utiliser ces modèles, il est possible de demander à Qt Creator de les copier dans votre projet, voir Qt Creator: Android Deploy Configuration. Vous pouvez également les copier manuellement dans le source de votre projet, dans un sous-répertoire android. Veillez ensuite à définir la propriété suivante dans votre projet CMakeLists.txt:

set_property(TARGET target_name PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
          "${CMAKE_CURRENT_SOURCE_DIR}/android")

Ou pour qmake dans votre fichier pro:

android: ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android

Note : Lors de l'utilisation de Qt Creator, les fichiers sous ce chemin sont par défaut visibles sous les fichiers du projet si CMake est utilisé. Pour obtenir le même comportement avec qmake, ajoutez manuellement ces chemins de fichiers à votre projet en utilisant DISTFILES.

Le processus de construction copie les modèles dans le répertoire de construction <build_path>/android-build à partir de votre projet ou des modèles par défaut si le projet n'a pas défini QT_ANDROID_PACKAGE_SOURCE_DIR. Ensuite, le répertoire <build_path>/android-build sert de répertoire d'empaquetage. Le bundle d'application est créé à partir de ce répertoire à l'aide de Gradle.

Passons maintenant en revue les différentes parties avec lesquelles l'utilisateur peut travailler après avoir étendu les modèles par défaut.

AndroidManifest.xml

Le fichier AndroidManifest.xml fournit des méta-informations détaillées sur votre application. Ces informations sont utilisées pour personnaliser votre pack d'applications et sont utilisées par l'appareil pour décider des fonctionnalités à activer, telles que l'orientation par défaut de l'application. En outre, elles sont utilisées par le Google Play Store pour obtenir des informations sur le code de la version, la prise en charge de l'appareil, le nom du paquet, et bien d'autres choses encore. Le manifeste Android est également utilisé pour définir les services Android et les activités Android personnalisées.

Pour plus d'informations sur AndroidManifest.xml, voir la documentation sur le fichier Android Manifest, et {Qt Creator: Android Deploy Configuration}{Édition des fichiers Manifest}.

Fichiers Gradle

Gradle est utilisé pour construire des paquets Android. Qt inclut deux ensembles de fichiers liés à Gradle :

  • Gradle wrapper, qui est utilisé pour télécharger une version spécifique de Gradle lui-même, et les scripts de construction qui sont utilisés pour invoquer la construction de Gralde. Ces fichiers sont livrés avec Qt sous, par exemple, ~/Qt/<version>/android_<abi>/src/3rdparty/gradle.

    Note : Il est généralement recommandé d'utiliser la même version de Gradle que celle de Qt. Cependant, si vous souhaitez utiliser une version différente de Gradle, vous pouvez modifier le wrapper Gradle gradle-wrapper.properties et le configurer pour la version de Gradle que vous souhaitez utiliser.

  • Le fichier de configuration Gradle build.gradle, qui se trouve sous les modèles Android. Ce fichier est requis par Gradle et peut être utilisé pour personnaliser la construction. Il peut être utilisé pour définir la cible de construction ou l'API minimale ou pour ajouter des dépendances de bibliothèque. Il peut également être utilisé pour définir le plugin Android Gradle, qui est une dépendance obligatoire de Gradle pour la construction d'applications Android. Voici un exemple :
    buildscript {
        ...
        dependencies {
            classpath 'com.android.tools.build:gradle:9.0.0'
        }
    }

    Pour plus d'informations, voir Android : Build Configuration Files.

Code Java/Kotlin

Pour inclure du code Java/Kotlin afin de cibler certaines API que Qt ne couvre pas ou pour toute autre raison, placez n'importe quel code sous le chemin <QT_ANDROID_PACKAGE_SOURCE_DIR>/src/. Par exemple, vous pouvez appeler des méthodes Java à partir du code Qt. Pour un exemple, voir Qt for Android Notifier Example.

Ressources

Android permet d'ajouter des fichiers de ressources tels que des icônes, des images, des chaînes, des couleurs, etc. Ces ressources peuvent être référencées directement à partir du code Java/Kotlin ou du fichier manifeste. Ces fichiers peuvent être ajoutés à votre projet à l'adresse <QT_ANDROID_PACKAGE_SOURCE_DIR>/res/. Par exemple, les icônes d'application peuvent être ajoutées à l'adresse res/drawable/icon.png.

Pour plus d'informations, voir Android : Aperçu des ressources d'application.

Ressources internes de Qt

Par défaut, Qt compile quelques ressources nécessaires au bon fonctionnement des applications. Par exemple, sous Unix, ces ressources se trouvent sous ~/Qt/<version>/android_<abi>/src/android/templates/res.

strings.xml

Ce fichier se trouve à l'adresse res/values/strings.xml. Ce fichier contient des chaînes que la bibliothèque Qt utilise pour référencer les traductions des messages dans différentes langues.

libs.xml

Ce fichier se trouve à l'adresse res/values/libs.xml. Il est utilisé uniquement pour gérer les informations de déploiement des bibliothèques Qt et il n'est pas recommandé de le modifier manuellement.

Actifs Android

Pour plus d'informations sur la gestion des ressources Android, voir Ajouter des ressources.

Bibliothèques Android

Pour plus d'informations sur l'utilisation de bibliothèques tierces avec votre projet Qt, voir Inclure une bibliothèque dans un projet Android.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.