Kompilieren und Bereitstellen von Qt-Anwendungen für HarmonyOS
Hinweis: Qt für HarmonyOS befindet sich in der Technologievorschau und kann sich in zukünftigen Versionen ändern.
Auf dieser Seite wird beschrieben, wie man eine Qt-Anwendung für HarmonyOS kompiliert und paketiert sowie wie man sie auf einem Gerät oder im Emulator ausführt.
In ein HAP verpacken
Hinweis: Sie können Qt-Anwendungen für HarmonyOS entweder mit CMake oder mit qmake erstellen, das Verpacken einer Anwendung in ein HAP und deren Bereitstellung wird jedoch nur mit CMake unterstützt.
HarmonyOS-Anwendungen werden als „HarmonyOS Ability Packages“ (HAPs) ausgeliefert. Wenn Sie mit `qt_add_executable()` eine ausführbare Qt-Anwendung erstellen und dabei HarmonyOS als Zielplattform angeben, generiert Qt automatisch das Build-Ziel ` <target>_make_hap `. Durch das Erstellen dieses Ziels wird das HAP für Ihre Anwendung erzeugt:
cmake --build . --target <target>_make_hapSo funktioniert die Bereitstellung
Das Ziel „ <target>_make_hap “ führt „harmonydeployqt“ aus, das HarmonyOS-Bereitstellungstool. Es verfolgt denselben Ansatz wie „androiddeployqt“: Es sammelt die gemeinsam genutzte Bibliothek der Anwendung, das HarmonyOS-Plattform-Plugin (libqohos.so), die erforderlichen Qt-Module sowie – bei „ Qt Quick “-Anwendungen – die QML-Module und fügt sie in eine HarmonyOS-Anwendungsvorlage ein. Anschließend ruft es das OpenHarmony-Build-Tool „ hvigor “ auf, um das endgültige HAP zusammenzustellen.
Um die in die HarmonyOS-Manifeste (app.json5 und module.json5) geschriebenen Metadaten zu konfigurieren und Berechtigungen zu deklarieren, verwenden Sie die in der Qt for HarmonyOS CMake-API beschriebenen Befehle.
Ausführen der Anwendung
Installieren und führen Sie das resultierende HAP auf einem angeschlossenen HarmonyOS-Gerät oder im Emulator aus. Am bequemsten lassen sich Bereitstellung und Debugging durchführen, indem Sie das generierte Projekt in DevEco Studio öffnen und dessen Ausführungs- und Debugging-Tools verwenden.
© 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.