Android プラットフォームに関する注意事項

このページでは、Android 上での Qt アプリケーションのビルドと実行に関する情報を提供します。サポートされるAndroid のバージョンとAPI レベルについては、サポートされる Android のバージョンを参照してください。

プラグインとインポート

アプリケーションが他のモジュールに依存するプラグインを使用する場合、これらのモジュールをアプリケーションの依存関係にリストする必要があります。詳細については、依存関係の検出を参照してください。

Qt GUI 依存関係

Android アプリには通常 GUI 要素が含まれているため、Qt for Android プラグインは主に GUI を提供するために構築されており、さまざまな QPA 抽象機能を実装しています。その結果、Qt for Android アプリのデプロイには Qt GUI.さらに、Qt Creator がサポートしているのは Gradle のビルドとデプロイのみであり、コマンドラインやシェルによる実行はサポートされていないことに注意してください。

OpenGLに関する特別な考慮事項

最近のデバイスは、2.0に加えてOpenGL ES 3.0または3.1をサポートしていることがよくあります。適切なOpenGLコンテキストを取得するには、QSurfaceFormat::setVersion ()を介して要求されたバージョンを設定します。

注意: OpenGL ES 3.xの機能を使用すると、2.0しかサポートしていない古いデバイスではアプリケーションが壊れてしまいます。

既知の問題

Qt Creator デバッグに関する問題

詳細については、Qt Creator 「Androidにおけるデバッグの問題」を参照してください。

予測テキスト

一部のデバイスのバグにより、ImhNoPredictiveText で予測テキストをオフにすると、このプロパティは無視され、予測テキストは有効になります。これを回避するには、QT_ANDROID_ENABLE_WORKAROUND_TO_DISABLE_PREDICTIVE_TEXT 環境変数を1 に設定します。ただし、副作用として、この環境変数が Gboard などの他のキーボードで問題を引き起こす可能性があります。日本語のような言語を使用している場合、GboardではQWERTYキーボードしか表示されません。この環境変数はキーボードが表示されるたびに照会されるので、必要に応じて回避策のオン・オフを切り替えることが可能です。

ディスプレイカットアウトモード

Android LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGESはサポートされていません。詳細については、QTBUG-114437を参照してください。

テキストグリフのキャッシュ

一部の OpenGL ドライバにバグがあるため、Qt がテキストグリフをキャッシュするために使用するメカニズムが、すべての Android デバイスで期待通りに動作せず、テキストが乱れて表示されます。この問題を解決するために、回避策が用意されていますが、メモリ消費量が増加し、テキスト描画のパフォーマンスにも影響する可能性があります。この回避策は現在、すべてのデバイスでデフォルトで使用されています。

この回避策は、QT_ANDROID_DISABLE_GLYPH_CACHE_WORKAROUND 環境変数を1またはtrue に設定することで無効にできます。ただし、対象となるすべてのデバイスでテキストが正しく表示されることを確認した後に行ってください。

制限事項

Qt モジュールやツールの中には、Android でサポートされていない機能や制限があるものがあります。プラットフォームの制限については、特定のモジュールのドキュメントを参照してください。

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