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 <alessandro.portale@qt.io>
This commit is contained in:
Assam Boudjelthia
2021-08-16 20:19:46 +03:00
parent 34a884a52a
commit cd8da8fe5f
5 changed files with 27 additions and 17 deletions

View File

@@ -31,6 +31,7 @@
#include <QObject>
#include <QVersionNumber>
#include <qtsupport/baseqtversion.h>
#include <projectexplorer/abi.h>
QT_BEGIN_NAMESPACE
@@ -87,6 +88,7 @@ public:
static int minimumSDK(const ProjectExplorer::Target *target);
static int minimumSDK(const ProjectExplorer::Kit *kit);
static int defaultMinimumSDK(const QtSupport::BaseQtVersion *qtVersion);
static QStringList applicationAbis(const ProjectExplorer::Target *target);
static QString archTriplet(const QString &abi);
@@ -100,7 +102,6 @@ public:
static QString devicePreferredAbi(const QStringList &deviceAbis, const QStringList &appAbis);
static ProjectExplorer::Abi androidAbi2Abi(const QString &androidAbi);
static QPair<int, int> apiLevelRange();
static QString androidNameForApiLevel(int x);
static void installQASIPackage(ProjectExplorer::Target *target, const QString &packagePath);