harmonydeployqt ツール
注: HarmonyOS 向けQt は テクノロジープレビュー段階にあり、今後のリリースで変更される可能性があります。
HarmonyOS向けのQtアプリケーションのパッケージ化には多くの手順が必要となるため、Qtにはその作業を自動で行うツールが付属しています。CMakeの<target>_make_hap ターゲットをビルドすると、harmonydeployqt が自動的に実行されるため、通常は手動で呼び出す必要はありません。パッケージ化およびデプロイの全体的なプロセスについては、「HarmonyOS向けQtアプリケーションのビルドとデプロイ」で説明されています。
仕組み
androiddeployqtと同様に、harmonydeployqt はアプリケーションの実行に必要なすべての要素を収集し、デプロイ可能なパッケージを作成します:
- アプリケーションの共有ライブラリ、HarmonyOSプラットフォームプラグイン(
libqohos.so)、必要なQtモジュールおよびプラグイン、さらにQt Quick アプリケーションの場合はQMLモジュールを収集します。 - これらを、Qt for HarmonyOS CMake APIを通じて宣言されたメタデータや権限とともに、HarmonyOSアプリケーションテンプレートに配置します。
- さらに、OpenHarmony
hvigorビルドツールを呼び出し、最終的な HarmonyOS Ability Package (HAP) を構築します。
このプロセスを制御する設定は、CMake ビルドによって自動的に生成される JSON 設定ファイルを通じてツールに渡されます。
コマンドライン引数
必須の引数は--input のみです。以下のリストは、harmonydeployqt に--help を渡すことでも利用可能です。
| 引数 | 説明 |
|---|---|
--input <file> | デプロイするアプリケーションおよびQtのインストール環境を記述したJSON設定ファイル。必須。 |
--output <dir> | 生成される HarmonyOS プロジェクトの出力ディレクトリ。 |
--hvigor <path> | HAPのビルドに使用するhvigorw スクリプトへのパス。QT_HARMONYOS_HVIGOR 環境変数でも設定可能です。 |
--install | hdc を使用して、生成された HAP を接続されたデバイスにインストールします。 |
--release | リリース構成をビルドします。デフォルトはデバッグです。 |
--no-build | HarmonyOSプロジェクトを生成しますが、HAPのビルドはスキップします。 |
--test-bundle | テストバンドルモードを有効にします。これにより、すべてのテストバイナリが単一のHAPにバンドルされます。 |
--verbose | 詳細出力を有効にします。 |
--depfile <path> | ビルドシステム用の依存関係ファイルを指定されたパスに書き込みます。 |
--depfile-base <dir> | 依存関係ファイル内の相対パスに使用されるベースディレクトリ。 |
--help | 利用可能な引数のリストを表示します。 |
HAPへの署名
HAPをデバイスにインストールするには、事前に署名を行う必要があります。署名用データは、コマンドライン引数または対応する環境変数のいずれかを通じて指定できます。両方が指定された場合、その個々のフィールドについてはコマンドライン引数が優先されます。
| 引数 | 環境変数 | 説明 |
|---|---|---|
--signing-cert-path <p> | QT_HARMONYOS_SIGNING_CERT_PATH | .cer 証明書ファイルへのパス。 |
--signing-profile <p> | QT_HARMONYOS_SIGNING_PROFILE | .p7b のプロビジョニング・プロファイルへのパス。 |
--signing-store-file <p> | QT_HARMONYOS_SIGNING_STORE_FILE | .p12 証明書ファイルへのパス。 プロビジョニング プロファイルへのパス。 |
--signing-key-alias <a> | QT_HARMONYOS_SIGNING_KEY_ALIAS | キーストア内のキーエイリアス。 |
--signing-key-password <s> | QT_HARMONYOS_SIGNING_KEY_PASSWORD | 暗号化されたキーのパスワード。 |
--signing-store-password <s> | QT_HARMONYOS_SIGNING_STORE_PASSWORD | 暗号化されたキーストアのパスワード。 |
--signing-alg <alg> | QT_HARMONYOS_SIGNING_ALG | 署名アルゴリズム。デフォルトはSHA256withECDSA です。 |
パスワードは、プレーンテキストではなく、hvigor-encrypted 形式のBLOBでなければなりません。署名は「すべてか、まったくか」の原則に従います。つまり、署名用の入力が1つでも設定されている場合、必要な6つの値(証明書、プロファイル、キーストア、キーエイリアス、キーパスワード、およびキーストアパスワード)がすべて存在しなければなりません。そうでない場合、HAPは署名されません。
アプリケーションの実行
生成されたHAPを、接続済みのHarmonyOSデバイスまたはエミュレータにインストールして実行します。デプロイやデバッグを行う最も便利な方法は、生成されたプロジェクトをDevEco Studioで開き、その実行およびデバッグツールを使用することです。
HarmonyOS 向け Qt アプリケーションのパッケージ化およびデプロイに関する詳細については、「HarmonyOS 向け Qt アプリケーションのビルドとデプロイ」を参照してください。
© 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.