Qt for Android
Qt では Android 用のアプリケーションを開発するために 2 つの方法があります:
- Qt for Androidは完全な Qt アプリケーションを開発します。
- Qt Quick Qtfor Androidは、Qt Quick のコンテンツをネイティブ Android アプリケーションに統合します。
Qt for Android
Qt for Android Android™では、Android デバイス向けの Qt アプリケーションを開発することができ、幅広い機能とユースケースをサポートしています。
Qt for Android は、クロスプラットフォーム Qt ライブラリ(Qt Core 、Qt GUI 、Qt Quick 、Qt Widgets など)を Android 固有のサービスや Android SDK に接続するためのプラットフォーム統合、ランタイムブリッジ、ビルドおよびパッケージングサポート、プラットフォームプラグインを提供します。
Qtアプリケーションは、イベントプロパゲーション、ライフサイクル管理、レンダリングなど、ネイティブのAndroid(Java/Kotlin)側とQt(C++)側の相互作用を処理することで、Androidデバイス上で動作します。
主な特徴と機能
Qt for Android の主な機能です:
- クロスプラットフォーム開発。Android 用 Qt アプリケーションは、通常 C++ で記述された QML アプリケーションです。最小限の調整で、アプリケーションコードを一度書くだけで、複数のプラットフォームにデプロイすることができます。
- ネイティブのパフォーマンス。Qt ランタイムは Android 用にコンパイルされているため、ネイティブのパフォーマンスを提供し、Android デバイスのネイティブ機能にアクセスできます。
- 豊富な UI コンポーネント。Qt の豊富な Qt Quickコンポーネントを使用できます。
また、Qt の広範なモジュールエコシステムを使用して、アプリケーションに機能を追加できます:
- Qt Quick ControlsAndroid のルック&フィールに適応するカスタマイズ可能なMaterial Styleを備えた、既製の UI コントロール。
- Qt Widgets必要であれば、従来のデスクトップスタイルのウィジェットにも対応できます。
- Qt Quick 3Dアプリケーションで3Dグラフィックスを表示する。
- Qt Quick Shapesベクターグラフィックスとカスタムシェイプ
- 高度な視覚効果のためのパーティクルとグラフィカルエフェクト。
- Qt Multimediaオーディオとビデオの再生と録音
- Qt Graphs2Dおよび3Dデータの視覚化
- Qt Virtual Keyboardオンスクリーンキーボードサポート
- Qt Sensorsデバイスセンサーへのアクセス
- Qt Locationマッピングと位置情報サービス
- Qt BluetoothBluetooth 接続
- Qt Networkセキュアなネットワーク通信と暗号化
- C++統合。既存のC++ライブラリに依存するアプリケーションや、高性能なネイティブコードを必要とするアプリケーションに最適です。
- 成熟した一貫性のある API。Qt の安定したモジュールは、プラットフォームの断片化を減らし、プラットフォーム間の機能パリティの維持を容易にします。
Qt for Android を調べる
Qt for Android での開発について学ぶために、主なトピックをご紹介します:
- Qt for Android 入門
- Qt for Android の仕組み
- Qt for Android マニフェストファイルの構成
- コマンドラインからの Qt for Android プロジェクトのビルド
- Android 上にアプリケーションをデプロイする
- androiddeployqt ツール
- ソースから Qt for Android をビルドする
- Qt Jenny:Javaコードジェネレーター
Androidフラグメント
Qt for Android アプリケーションでAndroid Fragments を使用することはできません。しかし、QtはQMLを使った独自のモジュラーコンポーネントとビューを提供しています。複数のコンポーネントを1つのQMLビューにまとめることができます。詳しくは、QMLドキュメントを参照してください。
Android アプリケーションにQt Quick for Androidを組み込む場合、Android Fragments 内でQtQuickViewAPI を使用することができます。
Qt Quick for Android
Qt Quick for Android を使用すると、ネイティブ Android アプリケーションの UI にQt Quick コンポーネントをView として追加できます。これは、複雑な UI 要素、アニメーション、3D グラフィックスを、Qt でアプリケーション全体を書き直すことなく、アプリ ケーションの特定の部分に統合する場合に特に便利です。UI 全体を Qt に置き換える Qt for Android とは異なり、Qt Quick for Android は既存の Android ネイティブ UI を補完します。
Qt Quick for Android を使えば、ネイティブアプリケーションの UI をこれらのコンポーネントで拡張することができます:
- Qt Quickそして Qt Quick ControlsAndroid のルック&フィールに適応するカスタマイズ可能なMaterial Styleを備えた、既製の UI コントロールです。
- Qt Quick 3Dアプリケーションで3Dグラフィックスを表示
- Qt Quick Shapesベクターグラフィックスとカスタムシェイプ
- 高度な視覚効果のためのパーティクルとグラフィカルエフェクト。
- Qt Graphs2Dおよび3Dデータのビジュアライゼーション
Qt Quick for Androidには、GoogleのAndroid Studio用のプラグインが含まれています。IntelliJマーケットプレイスで入手できます。
サポートされる構成
この Qt リリースでは以下の設定がサポートされています:
| セクション | 説明 |
|---|---|
| ディストリビューション | Android 9 (API 28)から16 (API 36) まで |
| アーキテクチャ | arm64-v8a x86_64 x86 armeabi-v7a |
| コンパイラ | Clang 17.0.2 (NDK r27c または 27.2.12479018) 注意: シンボルの欠落によるエラーを避けるため、Qt アプリでは公式 Qt for Android ライブラリのビルドに使用したものと同じ NDK バージョンを使用することを推奨します。複数の NDK をサポートするリリースでは、サポートされている最新の NDK が Qt のビルドに使用されます。 |
| JDK | JDK 21 |
| グラドル | Gradle 9.3.1 および AGP 9.0.0 |
| パッケージ | マルチABIAPKs、AABs、AARs注: Multi-ABIビルドは、CMakeを使用する場合にのみ利用可能です。詳細については、CMake Android Multi-ABIs を参照してください。 |
サポートされる Android バージョンの詳細については、Qt for Android Supported Versions Selection Guidelines を参照してください。
概要Qt Jenny |
© 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.