diff --git a/src/plugins/android/androidbuildapkstep.cpp b/src/plugins/android/androidbuildapkstep.cpp index 490d2ec7015..8ed1316a253 100644 --- a/src/plugins/android/androidbuildapkstep.cpp +++ b/src/plugins/android/androidbuildapkstep.cpp @@ -65,8 +65,6 @@ const char DeployActionKey[] = "Qt4ProjectManager.AndroidDeployQtStep.DeployQtAc const char KeystoreLocationKey[] = "KeystoreLocation"; const char BuildTargetSdkKey[] = "BuildTargetSdk"; const char VerboseOutputKey[] = "VerboseOutput"; -const char UseGradleKey[] = "UseGradle"; - class PasswordInputDialog : public QDialog { public: @@ -96,9 +94,6 @@ AndroidBuildApkStep::AndroidBuildApkStep(ProjectExplorer::BuildStepList *parent, : ProjectExplorer::AbstractProcessStep(parent, id), m_buildTargetSdk(AndroidConfig::apiLevelNameFor(AndroidConfigurations::currentConfig().highestAndroidSdk())) { - const QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); - if (version && version->qtVersion() >= QtSupport::QtVersionNumber(5, 4, 0)) - m_useGradle = AndroidConfigurations::currentConfig().useGrandle(); //: AndroidBuildApkStep default display name setDefaultDisplayName(tr("Build Android APK")); } @@ -109,14 +104,10 @@ AndroidBuildApkStep::AndroidBuildApkStep(ProjectExplorer::BuildStepList *parent, m_deployAction(other->deployAction()), m_signPackage(other->signPackage()), m_verbose(other->m_verbose), - m_useGradle(other->m_useGradle), m_openPackageLocation(other->m_openPackageLocation), // leave m_openPackageLocationForRun at false m_buildTargetSdk(other->m_buildTargetSdk) { - const QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); - if (m_useGradle && version->qtVersion() < QtSupport::QtVersionNumber(5, 4, 0)) - m_useGradle = false; } bool AndroidBuildApkStep::init(QList &earlierSteps) @@ -138,11 +129,18 @@ bool AndroidBuildApkStep::init(QList &earlierSteps) return false; const QVersionNumber sdkToolsVersion = AndroidConfigurations::currentConfig().sdkToolsVersion(); - if (sdkToolsVersion >= gradleScriptRevokedSdkVersion && - !version->sourcePath().appendPath("src/3rdparty/gradle").exists()) { - emit addOutput(tr("The installed SDK tools version (%1) does not include Gradle scripts. The " - "minimum Qt version required for Gradle build to work is %2.") - .arg(sdkToolsVersion.toString()).arg("5.9.0/5.6.3"), OutputFormat::Stderr); + if (sdkToolsVersion >= gradleScriptRevokedSdkVersion) { + if (!version->sourcePath().appendPath("src/3rdparty/gradle").exists()) { + emit addOutput(tr("The installed SDK tools version (%1) does not include Gradle " + "scripts. The minimum Qt version required for Gradle build to work " + "is %2").arg(sdkToolsVersion.toString()).arg("5.9.0/5.6.3"), + OutputFormat::Stderr); + return false; + } + } else if (version->qtVersion() < QtSupport::QtVersionNumber(5, 4, 0)) { + emit addOutput(tr("The minimum Qt version required for Gradle build to work is %2. " + "It is recommended to install the latest Qt version.") + .arg("5.4.0"), OutputFormat::Stderr); return false; } @@ -241,7 +239,6 @@ bool AndroidBuildApkStep::fromMap(const QVariantMap &map) if (m_buildTargetSdk.isEmpty()) m_buildTargetSdk = AndroidConfig::apiLevelNameFor(AndroidConfigurations::currentConfig().highestAndroidSdk()); m_verbose = map.value(VerboseOutputKey).toBool(); - m_useGradle = map.value(UseGradleKey).toBool(); return ProjectExplorer::BuildStep::fromMap(map); } @@ -252,7 +249,6 @@ QVariantMap AndroidBuildApkStep::toMap() const map.insert(KeystoreLocationKey, m_keystorePath.toString()); map.insert(BuildTargetSdkKey, m_buildTargetSdk); map.insert(VerboseOutputKey, m_verbose); - map.insert(UseGradleKey, m_useGradle); return map; } @@ -269,8 +265,7 @@ QString AndroidBuildApkStep::buildTargetSdk() const void AndroidBuildApkStep::setBuildTargetSdk(const QString &sdk) { m_buildTargetSdk = sdk; - if (m_useGradle) - AndroidManager::updateGradleProperties(target()); + AndroidManager::updateGradleProperties(target()); } AndroidBuildApkStep::AndroidDeployAction AndroidBuildApkStep::deployAction() const @@ -330,21 +325,6 @@ void AndroidBuildApkStep::setVerboseOutput(bool verbose) m_verbose = verbose; } -bool AndroidBuildApkStep::useGradle() const -{ - return m_useGradle; -} - -void AndroidBuildApkStep::setUseGradle(bool b) -{ - if (m_useGradle != b) { - m_useGradle = b; - if (m_useGradle) - AndroidManager::updateGradleProperties(target()); - emit useGradleChanged(); - } -} - bool AndroidBuildApkStep::addDebugger() const { return m_addDebugger; diff --git a/src/plugins/android/androidbuildapkstep.h b/src/plugins/android/androidbuildapkstep.h index f58005ee76c..ce9edebc110 100644 --- a/src/plugins/android/androidbuildapkstep.h +++ b/src/plugins/android/androidbuildapkstep.h @@ -69,9 +69,6 @@ public: bool verboseOutput() const; void setVerboseOutput(bool verbose); - bool useGradle() const; - void setUseGradle(bool b); - bool addDebugger() const; void setAddDebugger(bool debug); @@ -81,9 +78,6 @@ public: virtual Utils::FileName androidPackageSourceDir() const = 0; void setDeployAction(AndroidDeployAction deploy); -signals: - void useGradleChanged(); - protected: Q_INVOKABLE void showInGraphicalShell(); @@ -101,7 +95,6 @@ protected: AndroidDeployAction m_deployAction = BundleLibrariesDeployment; bool m_signPackage = false; bool m_verbose = false; - bool m_useGradle = true; // Ant builds are deprecated. bool m_openPackageLocation = false; bool m_openPackageLocationForRun = false; bool m_addDebugger = true; diff --git a/src/plugins/android/androidbuildapkwidget.cpp b/src/plugins/android/androidbuildapkwidget.cpp index 664a0aa6de2..73c1ad531c3 100644 --- a/src/plugins/android/androidbuildapkwidget.cpp +++ b/src/plugins/android/androidbuildapkwidget.cpp @@ -54,8 +54,6 @@ AndroidBuildApkWidget::AndroidBuildApkWidget(AndroidBuildApkStep *step) { m_ui->setupUi(this); - m_ui->deprecatedInfoIconLabel->setPixmap(Utils::Icons::INFO.pixmap()); - // Target sdk combobox int minApiLevel = 9; const AndroidConfig &config = AndroidConfigurations::currentConfig(); @@ -90,9 +88,6 @@ AndroidBuildApkWidget::AndroidBuildApkWidget(AndroidBuildApkStep *step) m_ui->signingDebugWarningLabel->hide(); signPackageCheckBoxToggled(m_step->signPackage()); - m_ui->useGradleCheckBox->setEnabled(config.antScriptsAvailable()); - m_ui->useGradleCheckBox->setChecked(!config.antScriptsAvailable() || - m_step->useGradle()); m_ui->verboseOutputCheckBox->setChecked(m_step->verboseOutput()); m_ui->openPackageLocationCheckBox->setChecked(m_step->openPackageLocation()); m_ui->addDebuggerCheckBox->setChecked(m_step->addDebugger()); @@ -108,8 +103,6 @@ AndroidBuildApkWidget::AndroidBuildApkWidget(AndroidBuildApkStep *step) connect(m_ui->bundleQtOption, &QAbstractButton::clicked, this, &AndroidBuildApkWidget::setBundleQtLibs); - connect(m_ui->useGradleCheckBox, &QAbstractButton::toggled, - this, &AndroidBuildApkWidget::useGradleCheckBoxToggled); connect(m_ui->openPackageLocationCheckBox, &QAbstractButton::toggled, this, &AndroidBuildApkWidget::openPackageLocationCheckBoxToggled); connect(m_ui->verboseOutputCheckBox, &QAbstractButton::toggled, @@ -135,9 +128,6 @@ AndroidBuildApkWidget::AndroidBuildApkWidget(AndroidBuildApkStep *step) this, &AndroidBuildApkWidget::updateSigningWarning); updateSigningWarning(); - QtSupport::BaseQtVersion *qt = QtSupport::QtKitInformation::qtVersion(step->target()->kit()); - bool qt54 = qt->qtVersion() >= QtSupport::QtVersionNumber(5, 4, 0); - m_ui->useGradleCheckBox->setVisible(qt54); } AndroidBuildApkWidget::~AndroidBuildApkWidget() @@ -247,8 +237,3 @@ void AndroidBuildApkWidget::updateSigningWarning() m_ui->signingDebugWarningLabel->setVisible(false); } } - -void AndroidBuildApkWidget::useGradleCheckBoxToggled(bool checked) -{ - m_step->setUseGradle(checked); -} diff --git a/src/plugins/android/androidbuildapkwidget.h b/src/plugins/android/androidbuildapkwidget.h index c17f0536d80..3a0576d6df6 100644 --- a/src/plugins/android/androidbuildapkwidget.h +++ b/src/plugins/android/androidbuildapkwidget.h @@ -57,7 +57,6 @@ private: void certificatesAliasComboBoxCurrentIndexChanged(const QString &alias); void certificatesAliasComboBoxActivated(const QString &alias); void updateSigningWarning(); - void useGradleCheckBoxToggled(bool checked); void openPackageLocationCheckBoxToggled(bool checked); void verboseOutputCheckBoxToggled(bool checked); void updateKeyStorePath(const QString &path); diff --git a/src/plugins/android/androidbuildapkwidget.ui b/src/plugins/android/androidbuildapkwidget.ui index 369c761da19..8e22e4043a3 100644 --- a/src/plugins/android/androidbuildapkwidget.ui +++ b/src/plugins/android/androidbuildapkwidget.ui @@ -6,8 +6,8 @@ 0 0 - 819 - 478 + 641 + 331 @@ -145,66 +145,21 @@ Advanced Actions - - - - - 0 - 0 - - - - Use Gradle (Ant builds are deprecated) - - - - - - - - 0 - 0 - - - - Gradle builds are forced from Android SDK tools version 25.3.0 onwards as Ant scripts are no longer available. - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Preferred - - - - 0 - 0 - - - - - + Open package location after build - + Verbose output - + false diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index 3b2e1a1bea3..b52810e93f0 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -84,16 +84,13 @@ using namespace Internal; namespace { const char jdkSettingsPath[] = "HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit"; - const QVersionNumber sdkToolsAntMissingVersion(25, 3, 0); const QLatin1String SettingsGroup("AndroidConfigurations"); const QLatin1String SDKLocationKey("SDKLocation"); const QLatin1String NDKLocationKey("NDKLocation"); - const QLatin1String AntLocationKey("AntLocation"); const QLatin1String OpenJDKLocationKey("OpenJDKLocation"); const QLatin1String KeystoreLocationKey("KeystoreLocation"); const QLatin1String AutomaticKitCreationKey("AutomatiKitCreation"); - const QLatin1String UseGradleKey("UseGradle"); const QLatin1String MakeExtraSearchDirectory("MakeExtraSearchDirectory"); const QLatin1String PartitionSizeKey("PartitionSize"); const QLatin1String ToolchainHostKey("ToolchainHost"); @@ -250,8 +247,6 @@ void AndroidConfig::load(const QSettings &settings) m_partitionSize = settings.value(PartitionSizeKey, 1024).toInt(); m_sdkLocation = FileName::fromString(settings.value(SDKLocationKey).toString()); m_ndkLocation = FileName::fromString(settings.value(NDKLocationKey).toString()); - m_antLocation = FileName::fromString(settings.value(AntLocationKey).toString()); - m_useGradle = settings.value(UseGradleKey, false).toBool(); m_openJDKLocation = FileName::fromString(settings.value(OpenJDKLocationKey).toString()); m_keystoreLocation = FileName::fromString(settings.value(KeystoreLocationKey).toString()); m_toolchainHost = settings.value(ToolchainHostKey).toString(); @@ -267,7 +262,6 @@ void AndroidConfig::load(const QSettings &settings) // persisten settings m_sdkLocation = FileName::fromString(reader.restoreValue(SDKLocationKey, m_sdkLocation.toString()).toString()); m_ndkLocation = FileName::fromString(reader.restoreValue(NDKLocationKey, m_ndkLocation.toString()).toString()); - m_antLocation = FileName::fromString(reader.restoreValue(AntLocationKey, m_antLocation.toString()).toString()); m_openJDKLocation = FileName::fromString(reader.restoreValue(OpenJDKLocationKey, m_openJDKLocation.toString()).toString()); m_keystoreLocation = FileName::fromString(reader.restoreValue(KeystoreLocationKey, m_keystoreLocation.toString()).toString()); m_toolchainHost = reader.restoreValue(ToolchainHostKey, m_toolchainHost).toString(); @@ -291,8 +285,6 @@ void AndroidConfig::save(QSettings &settings) const // user settings settings.setValue(SDKLocationKey, m_sdkLocation.toString()); settings.setValue(NDKLocationKey, m_ndkLocation.toString()); - settings.setValue(AntLocationKey, m_antLocation.toString()); - settings.setValue(UseGradleKey, m_useGradle); settings.setValue(OpenJDKLocationKey, m_openJDKLocation.toString()); settings.setValue(KeystoreLocationKey, m_keystoreLocation.toString()); settings.setValue(PartitionSizeKey, m_partitionSize); @@ -400,14 +392,6 @@ FileName AndroidConfig::androidToolPath() const } } -FileName AndroidConfig::antToolPath() const -{ - if (!m_antLocation.isEmpty()) - return m_antLocation; - else - return FileName::fromLatin1("ant"); -} - FileName AndroidConfig::emulatorToolPath() const { FileName path = m_sdkLocation; @@ -844,16 +828,6 @@ void AndroidConfig::setNdkLocation(const FileName &ndkLocation) m_NdkInformationUpToDate = false; } -FileName AndroidConfig::antLocation() const -{ - return m_antLocation; -} - -void AndroidConfig::setAntLocation(const FileName &antLocation) -{ - m_antLocation = antLocation; -} - FileName AndroidConfig::openJDKLocation() const { return m_openJDKLocation; @@ -906,25 +880,6 @@ void AndroidConfig::setAutomaticKitCreation(bool b) m_automaticKitCreation = b; } -bool AndroidConfig::antScriptsAvailable() const -{ - return sdkToolsVersion() < sdkToolsAntMissingVersion; -} - -bool AndroidConfig::useGrandle() const -{ - if (antScriptsAvailable()) { - return m_useGradle; - } - // Force gradle builds. - return true; -} - -void AndroidConfig::setUseGradle(bool b) -{ - m_useGradle = b; -} - /////////////////////////////////// // AndroidConfigurations /////////////////////////////////// @@ -1225,16 +1180,6 @@ void AndroidConfigurations::load() settings->beginGroup(SettingsGroup); m_config.load(*settings); - if (m_config.antLocation().isEmpty()) { - Environment env = Environment::systemEnvironment(); - FileName location = env.searchInPath(QLatin1String("ant")); - QFileInfo fi = location.toFileInfo(); - if (fi.exists() && fi.isExecutable() && !fi.isDir()) { - m_config.setAntLocation(location); - saveSettings = true; - } - } - if (m_config.openJDKLocation().isEmpty()) { if (HostOsInfo::isLinuxHost()) { Environment env = Environment::systemEnvironment(); diff --git a/src/plugins/android/androidconfigurations.h b/src/plugins/android/androidconfigurations.h index e2a26e36e7a..75b6dd16abc 100644 --- a/src/plugins/android/androidconfigurations.h +++ b/src/plugins/android/androidconfigurations.h @@ -119,9 +119,6 @@ public: QVersionNumber ndkVersion() const; void setNdkLocation(const Utils::FileName &ndkLocation); - Utils::FileName antLocation() const; - void setAntLocation(const Utils::FileName &antLocation); - Utils::FileName openJDKLocation() const; void setOpenJDKLocation(const Utils::FileName &openJDKLocation); @@ -137,14 +134,8 @@ public: bool automaticKitCreation() const; void setAutomaticKitCreation(bool b); - bool antScriptsAvailable() const; - - bool useGrandle() const; - void setUseGradle(bool b); - Utils::FileName adbToolPath() const; Utils::FileName androidToolPath() const; - Utils::FileName antToolPath() const; Utils::FileName emulatorToolPath() const; Utils::FileName sdkManagerToolPath() const; Utils::FileName avdManagerToolPath() const; @@ -203,13 +194,11 @@ private: Utils::FileName m_sdkLocation; Utils::FileName m_ndkLocation; - Utils::FileName m_antLocation; Utils::FileName m_openJDKLocation; Utils::FileName m_keystoreLocation; QStringList m_makeExtraSearchDirectories; unsigned m_partitionSize = 1024; bool m_automaticKitCreation = true; - bool m_useGradle = true; // Ant builds are deprecated. //caches mutable bool m_availableSdkPlatformsUpToDate = false; diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp index 94966152981..79693a0896e 100644 --- a/src/plugins/android/androiddeployqtstep.cpp +++ b/src/plugins/android/androiddeployqtstep.cpp @@ -233,8 +233,8 @@ bool AndroidDeployQtStep::init(QList &earlierSteps) Utils::QtcProcess::addArg(&m_androiddeployqtArgs, QLatin1String("bundled")); break; } - if (androidBuildApkStep->useGradle()) - Utils::QtcProcess::addArg(&m_androiddeployqtArgs, QLatin1String("--gradle")); + + Utils::QtcProcess::addArg(&m_androiddeployqtArgs, QLatin1String("--gradle")); if (androidBuildApkStep->signPackage()) { // The androiddeployqt tool is not really written to do stand-alone installations. diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index a5dcdd55a19..3691d959004 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -463,15 +463,6 @@ AndroidQtSupport *AndroidManager::androidQtSupport(ProjectExplorer::Target *targ return 0; } -bool AndroidManager::useGradle(ProjectExplorer::Target *target) -{ - if (!target) - return false; - AndroidBuildApkStep *buildApkStep - = AndroidGlobal::buildStep(target->activeBuildConfiguration()); - return buildApkStep && buildApkStep->useGradle(); -} - typedef QMap GradleProperties; static GradleProperties readGradleProperties(const QString &path) @@ -543,7 +534,7 @@ bool AndroidManager::updateGradleProperties(ProjectExplorer::Target *target) AndroidBuildApkStep *buildApkStep = AndroidGlobal::buildStep(target->activeBuildConfiguration()); - if (!buildApkStep || !buildApkStep->useGradle() || !buildApkStep->androidPackageSourceDir().appendPath(QLatin1String("gradlew")).exists()) + if (!buildApkStep || !buildApkStep->androidPackageSourceDir().appendPath(QLatin1String("gradlew")).exists()) return false; Utils::FileName wrapperProps(buildApkStep->androidPackageSourceDir()); diff --git a/src/plugins/android/androidmanager.h b/src/plugins/android/androidmanager.h index ad50f455290..e9d8fc5062a 100644 --- a/src/plugins/android/androidmanager.h +++ b/src/plugins/android/androidmanager.h @@ -87,7 +87,6 @@ public: const QString &alias); static bool checkForQt51Files(Utils::FileName fileName); static AndroidQtSupport *androidQtSupport(ProjectExplorer::Target *target); - static bool useGradle(ProjectExplorer::Target *target); static bool updateGradleProperties(ProjectExplorer::Target *target); static int findApiLevel(const Utils::FileName &platformPath); }; diff --git a/src/plugins/android/androidqtsupport.cpp b/src/plugins/android/androidqtsupport.cpp index 8cc4a86a9ff..1e3aa8ce7d5 100644 --- a/src/plugins/android/androidqtsupport.cpp +++ b/src/plugins/android/androidqtsupport.cpp @@ -41,11 +41,7 @@ Utils::FileName Android::AndroidQtSupport::apkPath(ProjectExplorer::Target *targ if (!buildApkStep) return Utils::FileName(); - QString apkPath; - if (buildApkStep->useGradle()) - apkPath = QLatin1String("build/outputs/apk/android-build-"); - else - apkPath = QLatin1String("bin/QtApp-"); + QString apkPath("build/outputs/apk/android-build-"); if (buildApkStep->signPackage()) apkPath += QLatin1String("release.apk"); else diff --git a/src/plugins/android/androidsettingswidget.cpp b/src/plugins/android/androidsettingswidget.cpp index f4697a7859c..12f1edaf55e 100644 --- a/src/plugins/android/androidsettingswidget.cpp +++ b/src/plugins/android/androidsettingswidget.cpp @@ -134,8 +134,6 @@ AndroidSettingsWidget::AndroidSettingsWidget(QWidget *parent) { m_ui->setupUi(this); - m_ui->deprecatedInfoIconLabel->setPixmap(Utils::Icons::INFO.pixmap()); - connect(&m_checkGdbWatcher, &QFutureWatcherBase::finished, this, &AndroidSettingsWidget::checkGdbFinished); @@ -144,27 +142,6 @@ AndroidSettingsWidget::AndroidSettingsWidget(QWidget *parent) m_ui->NDKLocationPathChooser->setFileName(m_androidConfig.ndkLocation()); m_ui->NDKLocationPathChooser->setPromptDialogTitle(tr("Select Android NDK folder")); - QString dir; - QString filter; - if (Utils::HostOsInfo::isWindowsHost()) { - dir = QDir::homePath() + QLatin1String("/ant.bat"); - filter = QLatin1String("ant (ant.bat)"); - } else if (Utils::HostOsInfo::isMacHost()) { - // work around QTBUG-7739 that prohibits filters that don't start with * - dir = QLatin1String("/usr/bin/ant"); - filter = QLatin1String("ant (*ant)"); - } else { - dir = QLatin1String("/usr/bin/ant"); - filter = QLatin1String("ant (ant)"); - } - m_ui->AntLocationPathChooser->setFileName(m_androidConfig.antLocation()); - m_ui->AntLocationPathChooser->setExpectedKind(Utils::PathChooser::Command); - m_ui->AntLocationPathChooser->setPromptDialogTitle(tr("Select ant Script")); - m_ui->AntLocationPathChooser->setInitialBrowsePathBackup(dir); - m_ui->AntLocationPathChooser->setPromptDialogFilter(filter); - - updateGradleBuildUi(); - m_ui->OpenJDKLocationPathChooser->setFileName(m_androidConfig.openJDKLocation()); m_ui->OpenJDKLocationPathChooser->setPromptDialogTitle(tr("Select JDK Path")); m_ui->DataPartitionSizeSpinBox->setValue(m_androidConfig.partitionSize()); @@ -173,7 +150,6 @@ AndroidSettingsWidget::AndroidSettingsWidget(QWidget *parent) m_ui->AVDTableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); m_ui->AVDTableView->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents); - m_ui->downloadAntToolButton->setVisible(!Utils::HostOsInfo::isLinuxHost()); m_ui->downloadOpenJDKToolButton->setVisible(!Utils::HostOsInfo::isLinuxHost()); const QPixmap warningPixmap = Utils::Icons::WARNING.pixmap(); @@ -201,8 +177,6 @@ AndroidSettingsWidget::AndroidSettingsWidget(QWidget *parent) this, &AndroidSettingsWidget::ndkLocationEditingFinished); connect(m_ui->SDKLocationPathChooser, &Utils::PathChooser::rawPathChanged, this, &AndroidSettingsWidget::sdkLocationEditingFinished); - connect(m_ui->AntLocationPathChooser, &Utils::PathChooser::rawPathChanged, - this, &AndroidSettingsWidget::antLocationEditingFinished); connect(m_ui->OpenJDKLocationPathChooser, &Utils::PathChooser::rawPathChanged, this, &AndroidSettingsWidget::openJDKLocationEditingFinished); connect(m_ui->AVDAddPushButton, &QAbstractButton::clicked, @@ -225,13 +199,8 @@ AndroidSettingsWidget::AndroidSettingsWidget(QWidget *parent) this, &AndroidSettingsWidget::openSDKDownloadUrl); connect(m_ui->downloadNDKToolButton, &QAbstractButton::clicked, this, &AndroidSettingsWidget::openNDKDownloadUrl); - connect(m_ui->downloadAntToolButton, &QAbstractButton::clicked, - this, &AndroidSettingsWidget::openAntDownloadUrl); connect(m_ui->downloadOpenJDKToolButton, &QAbstractButton::clicked, this, &AndroidSettingsWidget::openOpenJDKDownloadUrl); - connect(m_ui->UseGradleCheckBox, &QAbstractButton::toggled, - this, &AndroidSettingsWidget::useGradleToggled); - } AndroidSettingsWidget::~AndroidSettingsWidget() @@ -473,13 +442,6 @@ void AndroidSettingsWidget::updateAvds() enableAvdControls(); } -void AndroidSettingsWidget::updateGradleBuildUi() -{ - m_ui->UseGradleCheckBox->setEnabled(m_androidConfig.antScriptsAvailable()); - m_ui->UseGradleCheckBox->setChecked(!m_androidConfig.antScriptsAvailable() || - m_androidConfig.useGrandle()); -} - bool AndroidSettingsWidget::verifySdkInstallation(QString *errorDetails) const { if (m_androidConfig.sdkLocation().isEmpty()) { @@ -522,7 +484,6 @@ void AndroidSettingsWidget::saveSettings() { sdkLocationEditingFinished(); ndkLocationEditingFinished(); - antLocationEditingFinished(); openJDKLocationEditingFinished(); dataPartitionSizeEditingFinished(); AndroidConfigurations::setConfig(m_androidConfig); @@ -531,13 +492,8 @@ void AndroidSettingsWidget::saveSettings() void AndroidSettingsWidget::sdkLocationEditingFinished() { m_androidConfig.setSdkLocation(Utils::FileName::fromUserInput(m_ui->SDKLocationPathChooser->rawPath())); - updateGradleBuildUi(); check(Sdk); - - if (m_sdkState == Okay) - searchForAnt(m_androidConfig.sdkLocation()); - applyToUi(Sdk); } @@ -546,41 +502,9 @@ void AndroidSettingsWidget::ndkLocationEditingFinished() m_androidConfig.setNdkLocation(Utils::FileName::fromUserInput(m_ui->NDKLocationPathChooser->rawPath())); check(Ndk); - - if (m_ndkState == Okay) - searchForAnt(m_androidConfig.ndkLocation()); - applyToUi(Ndk); } -void AndroidSettingsWidget::searchForAnt(const Utils::FileName &location) -{ - if (!m_androidConfig.antLocation().isEmpty()) - return; - if (location.isEmpty()) - return; - QDir parentFolder = location.toFileInfo().absoluteDir(); - foreach (const QString &file, parentFolder.entryList()) { - if (file.startsWith(QLatin1String("apache-ant"))) { - Utils::FileName ant = Utils::FileName::fromString(parentFolder.absolutePath()); - ant.appendPath(file).appendPath(QLatin1String("bin")); - if (Utils::HostOsInfo::isWindowsHost()) - ant.appendPath(QLatin1String("ant.bat")); - else - ant.appendPath(QLatin1String("ant")); - if (ant.exists()) { - m_androidConfig.setAntLocation(ant); - m_ui->AntLocationPathChooser->setFileName(ant); - } - } - } -} - -void AndroidSettingsWidget::antLocationEditingFinished() -{ - m_androidConfig.setAntLocation(Utils::FileName::fromUserInput(m_ui->AntLocationPathChooser->rawPath())); -} - void AndroidSettingsWidget::openJDKLocationEditingFinished() { m_androidConfig.setOpenJDKLocation(Utils::FileName::fromUserInput(m_ui->OpenJDKLocationPathChooser->rawPath())); @@ -599,11 +523,6 @@ void AndroidSettingsWidget::openNDKDownloadUrl() QDesktopServices::openUrl(QUrl::fromUserInput("https://developer.android.com/ndk/downloads/")); } -void AndroidSettingsWidget::openAntDownloadUrl() -{ - QDesktopServices::openUrl(QUrl::fromUserInput("http://ant.apache.org/bindownload.cgi")); -} - void AndroidSettingsWidget::openOpenJDKDownloadUrl() { QDesktopServices::openUrl(QUrl::fromUserInput("http://www.oracle.com/technetwork/java/javase/downloads/")); @@ -672,11 +591,6 @@ void AndroidSettingsWidget::createKitToggled() m_androidConfig.setAutomaticKitCreation(m_ui->CreateKitCheckBox->isChecked()); } -void AndroidSettingsWidget::useGradleToggled() -{ - m_androidConfig.setUseGradle(m_ui->UseGradleCheckBox->isChecked()); -} - void AndroidSettingsWidget::checkGdbFinished() { QPair result = m_checkGdbWatcher.future().result(); diff --git a/src/plugins/android/androidsettingswidget.h b/src/plugins/android/androidsettingswidget.h index 9899aad59a2..becc6e0e8fe 100644 --- a/src/plugins/android/androidsettingswidget.h +++ b/src/plugins/android/androidsettingswidget.h @@ -75,12 +75,9 @@ public: private: void sdkLocationEditingFinished(); void ndkLocationEditingFinished(); - void searchForAnt(const Utils::FileName &location); - void antLocationEditingFinished(); void openJDKLocationEditingFinished(); void openSDKDownloadUrl(); void openNDKDownloadUrl(); - void openAntDownloadUrl(); void openOpenJDKDownloadUrl(); void addAVD(); void avdAdded(); @@ -90,12 +87,10 @@ private: void dataPartitionSizeEditingFinished(); void manageAVD(); void createKitToggled(); - void useGradleToggled(); void checkGdbFinished(); void showGdbWarningDialog(); void updateAvds(); - void updateGradleBuildUi(); private: enum Mode { Sdk = 1, Ndk = 2, Java = 4, All = Sdk | Ndk | Java }; diff --git a/src/plugins/android/androidsettingswidget.ui b/src/plugins/android/androidsettingswidget.ui index 338c73da043..cf0972c4eae 100644 --- a/src/plugins/android/androidsettingswidget.ui +++ b/src/plugins/android/androidsettingswidget.ui @@ -14,376 +14,16 @@ Android Configuration - - - - - 0 - 0 - - - - JDK location: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - - - - - 0 - 0 - - - - - - - - - - - - 0 - 0 - - - - - - - true - - - - - - - - - Download JDK - - - - :/android/images/download.png:/android/images/download.png - - - - - - - - 0 - 0 - - - - Android SDK location: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - + + - - - - Download Android SDK - - - - :/android/images/download.png:/android/images/download.png - - + + - - - - - - - 0 - 0 - - - - - - - - - - - - 0 - 0 - - - - - - - true - - - - - - - - - - 0 - 0 - - - - Android NDK location: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - - Download Android NDK - - - - :/android/images/download.png:/android/images/download.png - - - - - - - 2 - - - - - - 0 - 0 - - - - - - - - - - - - 0 - 0 - - - - <a href="xx">The GDB in the NDK appears to have broken python support.</a> - - - - - - - - - 2 - - - - - - 0 - 0 - - - - - - - - - - - - 0 - 0 - - - - - - - - - - - - - 2 - - - 0 - - - - - - 0 - 0 - - - - Automatically create kits for Android tool chains - - - true - - - - - - - - - 2 - - - - - - 0 - 0 - - - - - - - - - - - - 0 - 0 - - - - - - - true - - - - - - - - - 4 - - - 0 - - - - - - 0 - 0 - - - - Use Gradle instead of Ant (Ant builds are deprecated) - - - true - - - - - - - - 0 - 0 - - - - Gradle builds are forced from Android SDK tools version 25.3.0 onwards as Ant scripts are no longer available. - - - - - - - - - - Qt::Horizontal - - - - 0 - 0 - - - - - - - - - - - 0 - 0 - - - - Ant executable: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - - Download Ant - - - - :/android/images/download.png:/android/images/download.png - - - - + QFrame::StyledPanel @@ -502,6 +142,281 @@ + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + true + + + + + + + + + Download Android NDK + + + + :/android/images/download.png:/android/images/download.png + + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + true + + + + + + + + + + 0 + 0 + + + + JDK location: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + 2 + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + + 0 + 0 + + + + Android NDK location: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Download Android SDK + + + + :/android/images/download.png:/android/images/download.png + + + + + + + 2 + + + 0 + + + + + + 0 + 0 + + + + Automatically create kits for Android tool chains + + + true + + + + + + + + + 2 + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + true + + + + + + + + + 2 + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + <a href="xx">The GDB in the NDK appears to have broken python support.</a> + + + + + + + + + Download JDK + + + + :/android/images/download.png:/android/images/download.png + + + + + + + + 0 + 0 + + + + Android SDK location: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + diff --git a/src/plugins/qmakeandroidsupport/androidpackageinstallationstep.cpp b/src/plugins/qmakeandroidsupport/androidpackageinstallationstep.cpp index ef87c84ef0c..c7d0db210bd 100644 --- a/src/plugins/qmakeandroidsupport/androidpackageinstallationstep.cpp +++ b/src/plugins/qmakeandroidsupport/androidpackageinstallationstep.cpp @@ -88,12 +88,8 @@ bool AndroidPackageInstallationStep::init(QList &earlierSteps m_androidDirsToClean.clear(); // don't remove gradle's cache, it takes ages to rebuild it. - if (!QFile::exists(dirPath + "/build.xml") && Android::AndroidManager::useGradle(target())) { - m_androidDirsToClean << dirPath + "/assets"; - m_androidDirsToClean << dirPath + "/libs"; - } else { - m_androidDirsToClean << dirPath; - } + m_androidDirsToClean << dirPath + "/assets"; + m_androidDirsToClean << dirPath + "/libs"; return AbstractProcessStep::init(earlierSteps); } diff --git a/src/plugins/qmakeandroidsupport/qmakeandroidbuildapkstep.cpp b/src/plugins/qmakeandroidsupport/qmakeandroidbuildapkstep.cpp index f9fe6758c01..68e3e1d632f 100644 --- a/src/plugins/qmakeandroidsupport/qmakeandroidbuildapkstep.cpp +++ b/src/plugins/qmakeandroidsupport/qmakeandroidbuildapkstep.cpp @@ -172,11 +172,7 @@ bool QmakeAndroidBuildApkStep::init(QList &earlierSteps) if (m_verbose) arguments << "--verbose"; - if (m_useGradle) - arguments << "--gradle"; - else - arguments << "--ant" << AndroidConfigurations::currentConfig().antToolPath().toString(); - + arguments << "--gradle"; QStringList argumentsPasswordConcealed = arguments;