안드로이드 플랫폼 참고 사항

이 페이지에는 Android에서 Qt 애플리케이션을 빌드하고 실행하는 것과 관련된 정보가 포함되어 있습니다. 지원되는 안드로이드 버전과 API 레벨은 지원되는 안드로이드 버전을 참조하십시오.

플러그인 및 임포트 특별 고려 사항

애플리케이션이 다른 모듈에 의존하는 플러그인을 사용하는 경우 이러한 모듈을 애플리케이션의 종속성에 나열해야 합니다. 자세한 내용은 종속성 감지를 참조하세요.

Qt GUI 종속성

안드로이드 앱은 일반적으로 GUI 요소를 포함하기 때문에 안드로이드용 Qt 플러그인은 주로 GUI를 제공하기 위해 만들어졌으며, 따라서 다양한 QPA 추상화를 구현합니다. 따라서 Android용 Qt 앱을 배포하는 데는 Qt GUI. 또한 Qt Creator 은 Gradle 빌드 및 배포만 지원하므로 명령줄 또는 셸 실행은 기본적으로 지원되지 않는다는 점에 유의할 필요가 있습니다.

OpenGL 특별 고려 사항

최신 장치는 2.0 외에도 OpenGL ES 3.0 또는 3.1을 지원하는 경우가 많습니다. 적합한 OpenGL 컨텍스트를 얻으려면 QSurfaceFormat::setVersion()를 통해 요청된 버전을 설정하세요.

참고: OpenGL ES 3.x 기능을 사용하면 2.0만 지원하는 구형 디바이스에서 애플리케이션이 중단될 수 있습니다.

알려진 문제

예측 텍스트

일부 디바이스의 버그로 인해 ImhNoPredictiveText 을 사용하여 예측 텍스트를 끄면 이 속성이 무시되고 예측 텍스트가 계속 활성화됩니다. 이 문제를 해결하려면 QT_ANDROID_ENABLE_WORKAROUND_TO_DISABLE_PREDICTIVE_TEXT 환경 변수를 1 으로 설정하세요. 그러나 이 환경 변수는 Gboard와 같은 다른 키보드에서 문제를 일으킬 수 있다는 부작용이 있습니다. 일본어와 같은 언어를 사용하는 경우 Gboard에서 QWERTY 키보드만 표시됩니다. 이 환경 변수는 키보드가 표시될 때마다 쿼리되므로 필요에 따라 해결 방법을 켜고 끌 수 있습니다.

디스플레이 컷아웃 모드

Android 레이아웃_in_디스플레이_컷아웃_모드_짧은_엣지는 지원되지 않습니다. 자세한 내용은 QTBUG-114437을 참조하세요.

텍스트 글리프 캐싱

일부 OpenGL 드라이버의 버그로 인해 Qt가 텍스트 글리프를 캐싱하는 데 사용하는 메커니즘이 모든 Android 기기에서 예상대로 작동하지 않아 텍스트가 뒤섞여 표시될 수 있습니다. 이 문제를 해결하기 위해 해결 방법이 마련되어 있지만 메모리 소비가 증가하고 텍스트 렌더링 성능에도 영향을 줄 수 있습니다. 이 해결 방법은 이제 모든 디바이스에서 기본적으로 사용됩니다.

QT_ANDROID_DISABLE_GLYPH_CACHE_WORKAROUND 환경 변수를 1 또는 true로 설정하여 해결 방법을 비활성화할 수 있습니다. 그러나 모든 대상 디바이스에서 텍스트가 올바르게 표시되는지 확인한 후에만 비활성화해야 합니다.

제한 사항

일부 Qt 모듈에는 Android에서 지원되지 않거나 제한이 있는 기능이 있을 수 있습니다. 자세한 내용은 QTBUG-72086을 참조하세요.

자주 묻는 질문

  • 사용자 정의 활동을 만들려면 QtActivity 또는 안드로이드 활동을 사용해야 하나요?

    QtActivityActivity 을 확장하여 Qt 라이브러리를 로드하거나 Android와 Qt 간의 이벤트 및 네이티브 호출을 처리하는 데 필요한 로직을 구현합니다. 일반적으로 네이티브 호출을 사용하는 경우 QtActivity 을 확장해야 합니다. 그렇지 않으면 Activity 을 확장하면 됩니다.

  • QtService 또는 안드로이드 서비스를 사용해야 하나요?

    QtActivity 과 동일한 추론이 여기에도 적용됩니다. 네이티브 호출과 같이 Qt 라이브러리를 로드해야 하는 기능을 사용하는 경우가 아니라면 말입니다.

  • 안드로이드 프래그먼트를 Qt와 함께 사용할 수 있나요? Qt에서 프래그먼트에 해당하는 것은 무엇인가요?

    안드로이드 프래그먼트는 Qt와 함께 사용할 수 없습니다. 그러나 Qt는 자체 모듈형 컴포넌트와 뷰를 QML과 함께 제공합니다. 하나의 QML 뷰에 여러 컴포넌트를 결합할 수 있습니다. 자세한 내용은 다음을 참조하십시오. Qt Qml.

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