forked from qt-creator/qt-creator
Android: Only show android sdk versions that are supported by qt
That is at least android-9 for qt 5. Task-number: QTCREATORBUG-9067 Change-Id: I977f8a35e5d2db2c645fe1a1bc52ef5d7b9f8b35 Reviewed-by: BogDan Vatra <bogdan@kde.org> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
This commit is contained in:
@@ -235,17 +235,22 @@ bool AndroidManager::ensureIconAttribute(ProjectExplorer::Target *target)
|
|||||||
|
|
||||||
QString AndroidManager::targetSDK(ProjectExplorer::Target *target)
|
QString AndroidManager::targetSDK(ProjectExplorer::Target *target)
|
||||||
{
|
{
|
||||||
|
QString fallback = QLatin1String("android-8");
|
||||||
|
if (QtSupport::BaseQtVersion *qt = QtSupport::QtKitInformation::qtVersion(target->kit()))
|
||||||
|
if (qt->qtVersion() >= QtSupport::QtVersionNumber(5, 0, 0))
|
||||||
|
fallback = QLatin1String("android-9");
|
||||||
|
|
||||||
if (!createAndroidTemplatesIfNecessary(target))
|
if (!createAndroidTemplatesIfNecessary(target))
|
||||||
return AndroidConfigurations::instance().bestMatch(QLatin1String("android-8"));
|
return AndroidConfigurations::instance().bestMatch(fallback);
|
||||||
QFile file(defaultPropertiesPath(target).toString());
|
QFile file(defaultPropertiesPath(target).toString());
|
||||||
if (!file.open(QIODevice::ReadOnly))
|
if (!file.open(QIODevice::ReadOnly))
|
||||||
return AndroidConfigurations::instance().bestMatch(QLatin1String("android-8"));
|
return AndroidConfigurations::instance().bestMatch(fallback);
|
||||||
while (!file.atEnd()) {
|
while (!file.atEnd()) {
|
||||||
QByteArray line = file.readLine();
|
QByteArray line = file.readLine();
|
||||||
if (line.startsWith("target="))
|
if (line.startsWith("target="))
|
||||||
return QString::fromLatin1(line.trimmed().mid(7));
|
return QString::fromLatin1(line.trimmed().mid(7));
|
||||||
}
|
}
|
||||||
return AndroidConfigurations::instance().bestMatch(QLatin1String("android-8"));
|
return AndroidConfigurations::instance().bestMatch(fallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AndroidManager::setTargetSDK(ProjectExplorer::Target *target, const QString &sdk)
|
bool AndroidManager::setTargetSDK(ProjectExplorer::Target *target, const QString &sdk)
|
||||||
@@ -534,12 +539,18 @@ bool AndroidManager::createAndroidTemplatesIfNecessary(ProjectExplorer::Target *
|
|||||||
if (!androidFiles.isEmpty())
|
if (!androidFiles.isEmpty())
|
||||||
qt4Project->rootProjectNode()->addFiles(ProjectExplorer::UnknownFileType, androidFiles);
|
qt4Project->rootProjectNode()->addFiles(ProjectExplorer::UnknownFileType, androidFiles);
|
||||||
|
|
||||||
QStringList sdks = AndroidConfigurations::instance().sdkTargets();
|
int minApiLevel = 4;
|
||||||
|
if (QtSupport::BaseQtVersion *qt = QtSupport::QtKitInformation::qtVersion(target->kit()))
|
||||||
|
if (qt->qtVersion() >= QtSupport::QtVersionNumber(5, 0, 0))
|
||||||
|
minApiLevel = 9;
|
||||||
|
|
||||||
|
QStringList sdks = AndroidConfigurations::instance().sdkTargets(minApiLevel);
|
||||||
if (sdks.isEmpty()) {
|
if (sdks.isEmpty()) {
|
||||||
raiseError(tr("No Qt for Android SDKs were found.\nPlease install at least one SDK."));
|
raiseError(tr("No Qt for Android SDKs were found.\nPlease install at least one SDK."));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
updateTarget(target, AndroidConfigurations::instance().sdkTargets().at(0));
|
|
||||||
|
updateTarget(target, AndroidConfigurations::instance().sdkTargets(minApiLevel).at(0));
|
||||||
QStringList apps = availableTargetApplications(target);
|
QStringList apps = availableTargetApplications(target);
|
||||||
if (!apps.isEmpty())
|
if (!apps.isEmpty())
|
||||||
setTargetApplication(target, apps.at(0));
|
setTargetApplication(target, apps.at(0));
|
||||||
|
@@ -50,6 +50,8 @@
|
|||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QFileSystemWatcher>
|
#include <QFileSystemWatcher>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
#include <qtsupport/baseqtversion.h>
|
||||||
|
#include <qtsupport/qtkitinformation.h>
|
||||||
|
|
||||||
namespace Android {
|
namespace Android {
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
@@ -278,7 +280,13 @@ void AndroidPackageCreationWidget::updateAndroidProjectInfo()
|
|||||||
ProjectExplorer::Target *target = m_step->target();
|
ProjectExplorer::Target *target = m_step->target();
|
||||||
const QString packageName = AndroidManager::packageName(target);
|
const QString packageName = AndroidManager::packageName(target);
|
||||||
m_ui->targetSDKComboBox->clear();
|
m_ui->targetSDKComboBox->clear();
|
||||||
QStringList targets = AndroidConfigurations::instance().sdkTargets();
|
|
||||||
|
int minApiLevel = 4;
|
||||||
|
if (QtSupport::BaseQtVersion *qt = QtSupport::QtKitInformation::qtVersion(target->kit()))
|
||||||
|
if (qt->qtVersion() >= QtSupport::QtVersionNumber(5, 0, 0))
|
||||||
|
minApiLevel = 9;
|
||||||
|
|
||||||
|
QStringList targets = AndroidConfigurations::instance().sdkTargets(minApiLevel);
|
||||||
m_ui->targetSDKComboBox->addItems(targets);
|
m_ui->targetSDKComboBox->addItems(targets);
|
||||||
m_ui->targetSDKComboBox->setCurrentIndex(targets.indexOf(AndroidManager::targetSDK(target)));
|
m_ui->targetSDKComboBox->setCurrentIndex(targets.indexOf(AndroidManager::targetSDK(target)));
|
||||||
m_ui->packageNameLineEdit->setText(packageName);
|
m_ui->packageNameLineEdit->setText(packageName);
|
||||||
|
Reference in New Issue
Block a user