QT_ANDROID_GRADLE_MULTI_MODULE

マルチモジュール Gradle プロジェクトから Android パッケージをビルドします。

この変数は Qt 6.12 で導入されました。

注:この変数は テクノロジープレビュー段階にあり、将来のリリースで変更される可能性があります。

注:この変数は 、Androidプラットフォームを対象とする場合にのみ使用されます。

Androidアーティファクトごとに1つのモジュール、アプリケーション用のapp モジュール、および各動的機能ごとに1つのモジュールを含むGradleプロジェクトからアプリケーションをパッケージ化するには、この変数をTRUE に設定してください:

<build>/android-build-<target>/
    app/                    # the application module
    <feature_1_target>/     # Dynamic feature 1
    <feature_2_target>/     # Dynamic feature 2
    settings.gradle         # includes app and other dynamic features

機能モジュールはPlay Feature Deliveryの基盤となるため、qt_add_android_dynamic_features() ではこの変数が必要です。詳細はqt_add_android_dynamic_feature_java_source_dirs を参照してください。これを使用する完全なプロジェクトの例については、「Play Feature Delivery の使用」を参照してください。

注: ダイナミック機能の使用では 、現時点ではマルチABIはサポートされていません。

プロジェクトの構成時に、この変数を設定してください:

qt-cmake -S <source_dir> -B <build_dir> -DQT_ANDROID_GRADLE_MULTI_MODULE=ON

または、実行ファイルが作成される前に認識されるよう、qt_add_executable()の実行より早い段階で設定してください:

set(QT_ANDROID_GRADLE_MULTI_MODULE ON)

この変数は、パッケージのビルド方法を決定する役割も果たします。デフォルトでは、CMakeはデプロイ設定ファイルを書き出し、残りの処理をandroiddeployqtに委ねます。androiddeployqtはQtの依存関係を解決し、それらをビルドディレクトリにコピーした上で、そこからGradleを実行します。 この変数を有効にすると、CMake が通常のビルドステップとして依存関係を自らデプロイし、すべてのモジュールの Gradle ファイルを生成します。その後、apk およびaab ターゲットが Gradle を直接実行するため、androiddeployqt は一切関与しません。 アプリケーションは `android-build-<target>/app` からパッケージ化され、デプロイされたファイルはパッケージのビルド依存関係となります。このオプションは、CMakeのビルドグラフに依存し、追加のデプロイメントツールに依存しないため、一般的に高速かつ簡潔です。

この変数は、Qt 6.11 以降、QT_USE_ANDROID_MODERN_BUNDLE として利用可能です。この名前は Qt 6.12 以降非推奨となっていますが、設定されていれば依然として有効です。

QT_USE_TARGET_ANDROID_BUILD_DIRおよびqt_add_android_dynamic_feature_java_source_dirs()も参照してください 。

© 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.