Portage sur Android
La plupart des applications Qt devraient être facilement portables sur Android, à moins qu'elles ne dépendent d'une caractéristique matérielle ou logicielle spécifique qui n'est pas prise en charge par Android.
L'approche du portage diffère selon que l'application existante est basée sur QML ou sur des widgets, selon l'outil de construction prévu et selon que vous portez une application mobile ou de bureau.
Les applications basées sur QML construites avec CMake sont considérées comme la meilleure approche pour les applications mobiles.
Portage à partir d'applications de bureau Qt
La plupart de votre code Qt existant devrait fonctionner, mais vous devez prendre des décisions concernant l'évolutivité de votre interface utilisateur et la mise en page pour différentes orientations et tailles d'écran. Envisagez une approche de mise en page réactive pour tirer pleinement parti des applications Qt Qml.
Il y a des considérations qui ne sont pas directement affectées par l'utilisation de Qt, telles que les directives de l'app store, les directives de thème, et d'autres qui peuvent avoir un impact sur la façon dont vous développez votre application. Elles ne seront pas abordées ici.
Ajout de ressources
La plupart des applications ont besoin de ressources. Ici, nous discutons de l'impact sur le portage de votre application sur Android.
Utilisation du système de ressources Qt
Comme la plupart des applications d'interface utilisateur, les applications Qt dépendent également de ressources telles que des images, des icônes, des fichiers de traduction, etc. Ces ressources doivent être mises à disposition sur l'appareil car elles sont nécessaires au bon fonctionnement de l'application.
L'option la plus pratique consiste à regrouper les ressources dans un fichier qrc, qui est intégré au binaire de l'application. Cette approche réduit considérablement l'effort de portage et permet un accès plus rapide aux ressources. Il s'agit également d'une approche multiplateforme, qui facilite le portage sur d'autres plateformes.
Par défaut, toutes les applications Qt peuvent accéder au contenu d'un fichier qrc en utilisant le préfixe ":/" ou le préfixe du schéma d'URL, "qrc :". Pour en savoir plus sur les fichiers qrc et leur gestion, voir le système de ressources Qt.
Ajouter des ressources à l'aide de l'approche des actifs
Qt pour Android fournit un système de fichiers virtuel spécial qui est basé sur le mécanisme Android Assets. Les fichiers placés dans le répertoire"ANDROID_PACKAGE_SOURCE_DIR/assets/" sont intégrés à votre application.
L'approche des ressources est la meilleure option pour une meilleure interopérabilité avec les API Android. Vous pouvez accéder à toutes les ressources du répertoire en utilisant le préfixe "assets :". Contrairement à qrc, cette approche est spécifique à Android et n'est pas une solution multiplateforme.
Remarque : l'utilisation du système de ressources Qt implique que les fichiers qrc soient regroupés dans les bibliothèques partagées qui doivent d'abord être décompressées et chargées par l'éditeur de liens, alors que les ressources Android sont compressées dans l'APK et peuvent être directement utilisées dans votre application. Cela signifie que l'utilisation des ressources Android peut prendre moins d'espace, mais ce n'est pas une solution multiplateforme avec Qt.
L'approche des ressources avec CMake
Si vous n'avez pas l'habitude d'utiliser CMake ou CMake avec Qt pour la première fois, consultez la section Construire avec CMake. Ici, l'accent est mis sur les étapes applicables à l'ajout de ressources.
Vous voudrez probablement modifier quelques éléments qui sont contrôlés par le fichier Manifest d'Android. Voir Qt for Android Manifest File Configuration pour plus d'informations à ce sujet. Vous avez donc probablement déjà défini QT_ANDROID_PACKAGE_SOURCE_DIR de la manière suivante :
set_property(TARGET target_name PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
"${CMAKE_CURRENT_SOURCE_DIR}/android")Maintenant, vous pouvez placer vos ressources directement dans ce dossier ou avoir une étape personnalisée avec CMake pour les copier depuis le chemin principal du projet vers le chemin des ressources.
Ensuite, vous pouvez accéder à cette image à partir de C++ comme suit :
QImage image("assets:/images/happy.png");
© 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.