From cd8da8fe5f608d4968b90f19f30b515058605b8c Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Mon, 16 Aug 2021 20:19:46 +0300 Subject: Android: Get the minimum sdk level based on the used Qt version Currently, Creator gets the minimum sdk version from a hard-coded value (16) which is used for all projects. However, this is not ideal because some Qt versions require a specific sdk level to build and run properly. So, this change ensures that the minimum sdk value is obtained based the Qt version used in the project. Fixes: QTCREATORBUG-26127 Change-Id: I948dd18d16c3d9ca587ad7712aa4c9a1bfd53972 Reviewed-by: Alessandro Portale --- src/plugins/android/androidmanager.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/plugins/android/androidmanager.cpp') diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index f2e75a5fd4..274b338f80 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -399,9 +399,14 @@ void AndroidManager::setDeviceApiLevel(Target *target, int level) target->setNamedSettings(ApiLevelKey, level); } -QPair AndroidManager::apiLevelRange() +int AndroidManager::defaultMinimumSDK(const QtSupport::BaseQtVersion *qtVersion) { - return qMakePair(16, 29); + if (qtVersion && qtVersion->qtVersion() >= QtSupport::QtVersionNumber{6, 0}) + return 23; + else if (qtVersion && qtVersion->qtVersion() >= QtSupport::QtVersionNumber{5, 13}) + return 21; + else + return 16; } QString AndroidManager::androidNameForApiLevel(int x) -- cgit v1.2.1