forked from qt-creator/qt-creator
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:
@@ -720,18 +720,21 @@ void AndroidManifestEditorWidget::updateInfoBar()
|
||||
|
||||
void AndroidManifestEditorWidget::updateSdkVersions()
|
||||
{
|
||||
QPair<int, int> apiLevels = AndroidManager::apiLevelRange();
|
||||
for (int i = apiLevels.first; i < apiLevels.second + 1; ++i)
|
||||
m_androidMinSdkVersion->addItem(tr("API %1: %2")
|
||||
.arg(i)
|
||||
.arg(AndroidManager::androidNameForApiLevel(i)),
|
||||
i);
|
||||
static const QPair<int, int> sdkPair = qMakePair(16, 31);
|
||||
int minSdk = sdkPair.first;
|
||||
const int targetSdk = sdkPair.second;
|
||||
const Target *target = androidTarget(m_textEditorWidget->textDocument()->filePath());
|
||||
if (target) {
|
||||
const QtSupport::BaseQtVersion *qt = QtSupport::QtKitAspect::qtVersion(target->kit());
|
||||
minSdk = AndroidManager::defaultMinimumSDK(qt);
|
||||
}
|
||||
|
||||
for (int i = apiLevels.first; i < apiLevels.second + 1; ++i)
|
||||
m_androidTargetSdkVersion->addItem(tr("API %1: %2")
|
||||
.arg(i)
|
||||
.arg(AndroidManager::androidNameForApiLevel(i)),
|
||||
i);
|
||||
for (int i = minSdk; i <= targetSdk; ++i) {
|
||||
const QString apiStr = tr("API %1: %2").arg(i)
|
||||
.arg(AndroidManager::androidNameForApiLevel(i));
|
||||
m_androidMinSdkVersion->addItem(apiStr, i);
|
||||
m_androidTargetSdkVersion->addItem(apiStr, i);
|
||||
}
|
||||
}
|
||||
|
||||
void AndroidManifestEditorWidget::updateInfoBar(const QString &errorMessage, int line, int column)
|
||||
|
Reference in New Issue
Block a user