Qtブログ(日本語)

Qt for Android Automotive 6.10 リリース

作成者: Qt Group 日本オフィス|Nov 30, 2025 5:54:08 AM
このブログは「Qt for Android Automotive 6.10 is released」の抄訳です。

 Qt 6.10 をベースにした最新の Qt for Android Automotive 6.10 がリリースされました。Qt 6.10 では多くの新機能が追加されましたが、Qt for Android Automotive では Android Automotive に特化した 2 つの新機能が追加されました。本記事では、その新機能について紹介します。

Qt for Android Automotive のニュース

Qt for Android Automotive 6.10 の大きなニュースは、全く新しいService モジュール追加されたことです。このモジュールにより、開発者は Qt アプリケーションをAndroid サービスとして実行し、ネイティブの Android アプリケーションや異なるオペレーティングシステムでもサービスのコンテンツを使用することができます。このモジュールは現在 Technical Preview (TP) となっています。

Rendering as a Service

Rendering as a Service 機能は、複数のアプリケーションがサービスからアクセスできるレンダリング機能を提供します。これにより、Android システムでの効率的なリソース共有と集中的なレンダリング管理が可能になります。技術的には、Qt アプリケーションはフォアグラウンドまたはバックグラウンドのサービスとして実行し、XML Layout または Jetpack Compose を使用して Java や Kotlin でビルドされたネイティブ Android アプリケーションと画面コンテンツを共有することができます。

実際、インフォテインメント・システムを設計する際にこのアプローチを採用すれば、3Dコンテンツを持つアプリケーションはほとんど即座に起動します。このアプローチの追加的な利点は、複数のアプリケーションが同じ3Dシーンと同じランタイムを再利用することで、処理能力を大幅に節約できることです。このモジュラー・アプローチにより、開発者は単一のレンダリング・エンジン・インスタンス内で実行される複数の3Dシーンを作成し、複数のクライアントを接続することもできます(N-Nバインディング)。サンプル・アプリケーションは、Qt Creator と Qt ドキュメントで既に公開されています。

Surface Streaming

Surface Streaming 機能は、RTSP プロトコルで Android サーフェスから低遅延ビデオ ストリーミングを可能にします。Android MediaCodec を使用することで効率的な圧縮を実現し、Android デバイスから別のシステムやアプリケーションに表示コンテンツをストリーミングする必要があるシナリオ向けに設計されています。

インフォテインメントとドライバー・ディスプレイ用に別々の処理ユニットがあるシナリオを想像してください。インフォテインメント・ユニットはAndroidベースで、非重要システムです。一方、ドライバー・ディスプレイは、QNX、Automotive Grade Linux (AGL)、またはその他の安全中心のオペレーティング・システムをベースとした、セーフティ・クリティカルまたは品質監視システムです。ユースケースとして、車線、交通標識、他の道路利用者を表示する自動運転(ADAS)ビューを表示する必要がある場合、Android上でレンダリングしたコンテンツを非常に低いレイテンシでドライバー・ディスプレイにストリーミングできます。これにより、ドライバー・ディスプレイ側の要件が大幅に削減され、Android側の無線アップデートによってドライバー・ディスプレイに新しいアップデートを簡単に提供できるようになります。

Surface Streaming機能の使用から生まれるもう一つの可能性は、ネイティブのAndroidアプリケーションを外部デバイスにストリーミングすることです。これは、Surface Streamingを既存のActivity Viewモジュール組み合わせることで実現できます。

この新機能を試すために、Qt Creator とオンラインドキュメントで新しいサンプルを用意しています。


UI とグラフィックの改善

Qt Quick は常に進化し続けており、新しい技術を取り入れることでより迅速な開発とイテレーションをサポートしています。Qt 6.10 では、UI をよりモダンでレスポンシブなものにする新しい方法を提供します。

Flexbox レイアウト

Qt は長い間、ユーザーインターフェース (UI) 内の UI コンポーネントを自動的に配置する様々なレイアウトタイプを提供してきました。Qt のレイアウトは、レスポンシブでリサイズ可能なインターフェースの作成に特に適しており、画面サイズやアスペクト比の異なる様々なプラットフォームで動作するユーザーインターフェースの作成に最適です。また、テキストの長さが異なる言語や、ユーザーが異なるフォントサイズを好むような言語にも翻訳可能な、単一のユーザーインターフェースを構築することもできます。

Qt 6.10 では、新しいFlexboxLayout タイプが Qt Quick の既存のレイアウトタイプに加わりました。Qt の FlexboxLayout は、CSS の Flexible Box Layout でおなじみの機能を提供し、Qt Quick のレイアウトメカニズムでおなじみの概念(レイアウト内の個々のアイテムの動作を設定するアタッチプロパティなど)と緊密に統合されています。

FlexboxLayout は現在、技術プレビュー (TP) となっています。

アニメーション付きベクターグラフィックス

ここ数回のリリースで、Qt Quick のシーングラフと Qt Quick Shapes モジュール、そして SVG イメージを扱う Qt の機能の両方において、ベクターグラフィックスのサポートを着実に改善してきました。Qt 6.8 では、VectorImage 要素と svgtoqml ツールを 導入し、ベクターグラフィックスのコンテンツを Qt Quick のシーングラフに直接入力できるようにしました。

Qt 6.10 では、SVG またはLottie フォーマットの 画像のアニメーションベクターグラフィックスのサポートを追加しました。Lottie ファイルのサポートは全般的に改善され、Qt Lottie モジュールはより多くの最新の Lottie ファイルをサポートするようになりました。VectorImage タイプで Lottie を直接サポートすることで、Lottie ファイルをスケーラブルでハードウェアアクセラレーションによるベクターグラフィックスとしてレンダリングできるようになりました。

詳細については、ブログ記事をご覧ください。

Android プラットフォームの改善

Qt 6.10 では、Android プラットフォームをターゲットとする開発者にとってより使いやすく、最新の Android バージョンをサポートし、アプリの第一印象を良くするための多くの機能強化が実施されています。

Android 15 & 16 サポート

Qt 6.10 では Android 15 と 16 を正式にサポートしました。これにはビルドシステムのアップデートと 16K ページのサポートが含まれており、最新の Android システムをターゲットにすることができます。このサポートにより、Qt アプリケーションは進化し続ける Android エコシステムにおいても安定したパフォーマンスを維持することができます。これは、Android Automotive 15 および 16 でもアプリケーションが動作することを意味します。

Android システムや外部ライブラリとの連携

Qt Jenny、Qt アプリケーションへの Android Java API の統合を簡素化する新しいツールです。JNI グルーコードのコードジェネレータとして機能し、開発者はアノテーションされた Java クラスから Qt C++ API を自動的に生成することができます。Qt Jenny はコンパイラとアノテーション・プロセッサで構成され、Qt コードから BatteryManagerPowerManagerAudioManager のような Android ネイティブ・サービスにアクセスできます。生成されたコードはQJniObject を利用し、JNI 経由で実装するにはかなり複雑な通知もサポートしています。Qt Jenny は Maven Central から入手可能で、Qt Creator とオンラインドキュメントにサンプルが含まれています。

フィードバックの提供

何か問題があればbugreports.qt.io に詳細なバグレポートを提出してください。また、 商用ライセンスでサポートプランに加入されている場合はテクニカルサポートに連絡してください。 また、Qt Project のメーリングリストや開発者フォーラムでの議論にもぜひご参加ください。

Qt 6.10 のリリース計画

Qt 6.10 シリーズの新しいパッチリリースを継続します。目標は 2026 年 1 月末に Qt for Android Automotive 6.10.2 をリリースすることです。

詳細はどこで入手できますか?

改善点の全リストは、Qt 6.10 の新機能Qt for Android Automotive 6.10 の新機能をご覧ください。Qt for Android Automotive の技術的な情報については、Qt for Android Automotive の技術ドキュメントご覧ください