Android: bump min supported SDK to 28 (Android 9)

Bump the minimum supported Android API from 23 to 28 i.e.
Android Oreo 9. This is done to focus more and more on
recent versions.

Fixes: QTBUG-125023
Task-number: QTBUG-124890
Change-Id: I4d510b771f413e5711dd44de454211e019c63db6
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
This commit is contained in:
Assam Boudjelthia 2023-03-14 13:46:28 +02:00
parent aae5c89d5f
commit 841bbbe8ec
9 changed files with 14 additions and 14 deletions

View File

@ -137,9 +137,9 @@ function(qt_auto_detect_android)
# ANDROID_NATIVE_API_LEVEL is an just an alias to ANDROID_PLATFORM, check for both # ANDROID_NATIVE_API_LEVEL is an just an alias to ANDROID_PLATFORM, check for both
if(NOT DEFINED ANDROID_PLATFORM AND NOT DEFINED ANDROID_NATIVE_API_LEVEL) if(NOT DEFINED ANDROID_PLATFORM AND NOT DEFINED ANDROID_NATIVE_API_LEVEL)
message(STATUS "Neither ANDROID_PLATFORM nor ANDROID_NATIVE_API_LEVEL" message(STATUS "Neither ANDROID_PLATFORM nor ANDROID_NATIVE_API_LEVEL"
" were specified, using API level 23 as default") " were specified, using API level 28 as default")
set(ANDROID_PLATFORM "android-23" CACHE STRING "") set(ANDROID_PLATFORM "android-28" CACHE STRING "")
set(ANDROID_NATIVE_API_LEVEL 23 CACHE STRING "") set(ANDROID_NATIVE_API_LEVEL 28 CACHE STRING "")
endif() endif()
if(NOT DEFINED ANDROID_STL) if(NOT DEFINED ANDROID_STL)
set(ANDROID_STL "c++_shared" CACHE STRING "") set(ANDROID_STL "c++_shared" CACHE STRING "")

View File

@ -841,7 +841,7 @@ function(qt_generate_global_device_pri_file)
file(TO_CMAKE_PATH ${ANDROID_NDK} ANDROID_NDK) file(TO_CMAKE_PATH ${ANDROID_NDK} ANDROID_NDK)
string(APPEND content "DEFAULT_ANDROID_NDK_ROOT = ${ANDROID_NDK}\n") string(APPEND content "DEFAULT_ANDROID_NDK_ROOT = ${ANDROID_NDK}\n")
set(android_platform "android-23") set(android_platform "android-28")
if(ANDROID_PLATFORM) if(ANDROID_PLATFORM)
set(android_platform "${ANDROID_PLATFORM}") set(android_platform "${ANDROID_PLATFORM}")
elseif(ANDROID_NATIVE_API_LEVEL) elseif(ANDROID_NATIVE_API_LEVEL)

View File

@ -190,7 +190,7 @@ If you don't supply the configuration argument ``-DANDROID_ABI=...``, it will de
* x86: ``-DANDROID_ABI=x86`` * x86: ``-DANDROID_ABI=x86``
* x86_64: ``-DANDROID_ABI=x86_64`` * x86_64: ``-DANDROID_ABI=x86_64``
By default we set the android API level to 23. Should you need to change this supply the following By default we set the android API level to 28. Should you need to change this supply the following
configuration argument to the above CMake call: ``-DANDROID_PLATFORM=android-${API_LEVEL}``. configuration argument to the above CMake call: ``-DANDROID_PLATFORM=android-${API_LEVEL}``.
### Cross compiling for iOS ### Cross compiling for iOS

View File

@ -89,7 +89,7 @@ The following table describes the mapping of configure options to CMake argument
| | | assumed. | | | | assumed. |
| -android-sdk <path> | -DANDROID_SDK_ROOT=<path> | | | -android-sdk <path> | -DANDROID_SDK_ROOT=<path> | |
| -android-ndk <path> | -DCMAKE_TOOLCHAIN_FILE=<toolchain file in NDK> | | | -android-ndk <path> | -DCMAKE_TOOLCHAIN_FILE=<toolchain file in NDK> | |
| -android-ndk-platform android-23 | -DANDROID_PLATFORM=android-23 | | | -android-ndk-platform android-28 | -DANDROID_PLATFORM=android-28 | |
| -android-abis <abi_1>,...,<abi_n> | -DANDROID_ABI=<abi_1> | only one ABI can be specified | | -android-abis <abi_1>,...,<abi_n> | -DANDROID_ABI=<abi_1> | only one ABI can be specified |
| -android-style-assets | -DFEATURE_android_style_assets=ON | | | -android-style-assets | -DFEATURE_android_style_assets=ON | |
| -android-javac-source | -DQT_ANDROID_JAVAC_SOURCE=7 | Set the javac build source version. | | -android-javac-source | -DQT_ANDROID_JAVAC_SOURCE=7 | Set the javac build source version. |

View File

@ -90,9 +90,9 @@ macro.NdkVer = "r26b"
macro.NdkFullVer = "26.1.10909125" macro.NdkFullVer = "26.1.10909125"
macro.NdkCompilerVer = "Clang 17.0.2" macro.NdkCompilerVer = "Clang 17.0.2"
macro.JdkVer = "17" macro.JdkVer = "17"
macro.AndroidMinApiVer = "26" macro.AndroidMinApiVer = "28"
macro.AndroidMaxApiVer = "34" macro.AndroidMaxApiVer = "34"
macro.AndroidMinVer = "8.0" macro.AndroidMinVer = "9"
macro.AndroidMaxVer = "14" macro.AndroidMaxVer = "14"
macro.AndroidPlatformVer = "34" macro.AndroidPlatformVer = "34"
macro.AndroidBuildToolsVer = "34.0.0" macro.AndroidBuildToolsVer = "34.0.0"

View File

@ -27,7 +27,7 @@ android {
namespace "org.qtproject.qt.android" namespace "org.qtproject.qt.android"
defaultConfig { defaultConfig {
minSdkVersion 23 minSdkVersion 28
} }
sourceSets { sourceSets {

View File

@ -26,7 +26,7 @@ android {
compileSdk 34 compileSdk 34
defaultConfig { defaultConfig {
minSdkVersion 23 minSdkVersion 28
} }
sourceSets { sourceSets {

View File

@ -26,7 +26,7 @@ android {
compileSdk 34 compileSdk 34
defaultConfig { defaultConfig {
minSdkVersion 23 minSdkVersion 28
} }
sourceSets { sourceSets {

View File

@ -165,7 +165,7 @@ struct Options
// Versioning // Versioning
QString versionName; QString versionName;
QString versionCode; QString versionCode;
QByteArray minSdkVersion{"23"}; QByteArray minSdkVersion{"28"};
QByteArray targetSdkVersion{"34"}; QByteArray targetSdkVersion{"34"};
// lib c++ path // lib c++ path
@ -1849,8 +1849,8 @@ bool updateAndroidManifest(Options &options)
if (reader.isStartElement()) { if (reader.isStartElement()) {
if (reader.name() == "uses-sdk"_L1) { if (reader.name() == "uses-sdk"_L1) {
if (reader.attributes().hasAttribute("android:minSdkVersion"_L1)) if (reader.attributes().hasAttribute("android:minSdkVersion"_L1))
if (reader.attributes().value("android:minSdkVersion"_L1).toInt() < 23) { if (reader.attributes().value("android:minSdkVersion"_L1).toInt() < 28) {
fprintf(stderr, "Invalid minSdkVersion version, minSdkVersion must be >= 23\n"); fprintf(stderr, "Invalid minSdkVersion version, minSdkVersion must be >= 28\n");
return false; return false;
} }
} else if ((reader.name() == "application"_L1 || } else if ((reader.name() == "application"_L1 ||