Qt for Android Supported Versions Selection Guidelines
To keep the supported versions to a level that’s maintainable by Qt, especially for LTS releases which are expected to live for a period of 3 years, Qt for Android has guidelines for selecting the supported versions for a given Qt release. This makes the selection clear and transparent, and help shape proper expectations of support for each Qt for Android release.
Minimum Supported Version
The guidelines for selecting the minimum supported version are:
- Evaluate the minimum version once a year for the fall release of Qt, which would also cover LTS releases.
- Target at least 90% of the cumulative usage in the market as listed on apilevels.com at the time of the platform freeze deadline of a given fall release.
- The selection is done 1 month before the platform freeze, at which time we check what versions would fit the 90% range, and decide whether to select a more recent minimum version or not and to what new minimum version.
- The changes are communicated to the Qt development mailing list, and reflected in the release change log and Qt for Android documentation.
- In exceptional cases where a change is needed to a version that doesn’t respect the criteria above, it will be announced at the time of the platform freeze deadline along with reasons for the decision.
The minimum version changes will be reflected in our CI test runs, and in the build system (i.e. CMake and androiddeployqt), thus the released libraries would require said minimum version to run. To target older versions a Qt rebuild with appropriate build system changes would be needed. Even if such builds might work for older versions, note that they would fall outside of Qt official support scope. Although, the official Qt for Android libraries might or might not work for builds targeting older versions than the minimum for the release.
Maximum Supported Version
In a spring Qt release, we aim to support an Android version which was released by Google in the fall of the year before. This becomes the new maximum supported version by Qt.
Qt LTS releases would also support new Android versions coming out to market for up to two years after the initial Qt LTS patch release. This allows users to target newer Android versions to comply with Google Play Store target SDK publishing policies. In effect, new Android versions released in this two year period will become the maximum versions supported for the LTS release in the following patch release of the Qt LTS version.
Target Devices used in Automated Testing
Below is a list of Android devices in automated testing of Qt for Android releases, it is inclusive of but not limited to these devices:
Device | OS Version | Architecture | Form Factor |
---|---|---|---|
Pixel 2 | Android 11 (API 30) | arm64_v8a | Mobile |
Pixel 2 XL | Android 11 (API 30) | arm64_v8a | Mobile |
Pixel 4A | Android 12 (API 31) | armv7, arm64_v8a | Mobile |
Pixel 6 | Android 13 (API 33) | arm64_v8a | Mobile |
Pixel 6 Pro | Android 12 (API 31) | arm64_v8a | Mobile |
Pixel 6a | Android 14 (API 34) | arm64_v8a | Mobile |
Pixel 7 | Android 13 (API 33) | arm64_v8a | Mobile |
Pixel 7 Pro | Android 13 (API 33) | arm64_v8a | Mobile |
Pixel 7a | Android 14 (API 34) | arm64_v8a | Mobile |
Samsung Galaxy S10 | Android 9 (API 28) | armv7, arm64_v8a | Mobile |
Samsung Galaxy S21 | Android 12 (API 31) | armv7, arm64_v8a | Mobile |
Samsung Galaxy Tab S4 | Android 10 (API 29) | armv7, arm64_v8a | Tablet |
Nothing Phone 1 | Android 14 [UP1A.231005.007] (API 34) | arm64_v8a | Mobile |
Motorola Moto G5 Plus | Android 8 [UP1A.230519.001] (API 27) | arm64_v8a | Mobile |
Samsung Galaxy Tab A9+ | Android 14 [UP1A.231005.007] (API 34) | arm64_v8a | Mobile |
Note: The above table is accurate at the time of this Qt patch release only. It may change during the patch release cycle and should only be used as a reference for what the Qt Company can rapidly reproduce bugs on.