From d50e15f61198d9415c5abc0934773a90386995bd Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Tue, 22 Jul 2014 13:41:15 +0300 Subject: [PATCH] Disable signing when using debug deployment method. The debug deployment method can't be used to create APKs that can be published on Android markets. Change-Id: I0539e1e7bcbf5935d74f9ee93cadc8b296a94664 Reviewed-by: Daniel Teske --- src/plugins/android/androidbuildapkwidget.cpp | 18 ++++++++++ src/plugins/android/androidbuildapkwidget.h | 1 + src/plugins/android/androidbuildapkwidget.ui | 33 +++++++++++++++++++ 3 files changed, 52 insertions(+) diff --git a/src/plugins/android/androidbuildapkwidget.cpp b/src/plugins/android/androidbuildapkwidget.cpp index fb451159496..6bc769d7ca6 100644 --- a/src/plugins/android/androidbuildapkwidget.cpp +++ b/src/plugins/android/androidbuildapkwidget.cpp @@ -101,6 +101,9 @@ AndroidBuildApkWidget::AndroidBuildApkWidget(AndroidBuildApkStep *step) connect(m_ui->ministroOption, SIGNAL(clicked()), SLOT(setMinistro())); connect(m_ui->temporaryQtOption, SIGNAL(clicked()), SLOT(setDeployLocalQtLibs())); connect(m_ui->bundleQtOption, SIGNAL(clicked()), SLOT(setBundleQtLibs())); + connect(m_ui->ministroOption, SIGNAL(clicked()), SLOT(updateDebugDeploySigningWarning())); + connect(m_ui->temporaryQtOption, SIGNAL(clicked()), SLOT(updateDebugDeploySigningWarning())); + connect(m_ui->bundleQtOption, SIGNAL(clicked()), SLOT(updateDebugDeploySigningWarning())); connect(m_ui->openPackageLocationCheckBox, SIGNAL(toggled(bool)), this, SLOT(openPackageLocationCheckBoxToggled(bool))); @@ -123,6 +126,7 @@ AndroidBuildApkWidget::AndroidBuildApkWidget(AndroidBuildApkStep *step) this, SLOT(updateSigningWarning())); updateSigningWarning(); + updateDebugDeploySigningWarning(); QtSupport::BaseQtVersion *qt = QtSupport::QtKitInformation::qtVersion(step->target()->kit()); m_ui->temporaryQtOption->setVisible(qt->qtVersion() >= QtSupport::QtVersionNumber(5, 4, 0)); } @@ -236,3 +240,17 @@ void AndroidBuildApkWidget::updateSigningWarning() } } +void AndroidBuildApkWidget::updateDebugDeploySigningWarning() +{ + if (m_step->deployAction() == AndroidBuildApkStep::DebugDeployment) { + m_ui->signingDebugDeployError->setVisible(true); + m_ui->signingDebugDeployErrorIcon->setVisible(true); + m_ui->signPackageCheckBox->setChecked(false); + m_ui->signPackageCheckBox->setEnabled(false); + } else { + m_ui->signingDebugDeployError->setVisible(false); + m_ui->signingDebugDeployErrorIcon->setVisible(false); + m_ui->signPackageCheckBox->setEnabled(true); + } +} + diff --git a/src/plugins/android/androidbuildapkwidget.h b/src/plugins/android/androidbuildapkwidget.h index 5a7f896df71..33215f171cf 100644 --- a/src/plugins/android/androidbuildapkwidget.h +++ b/src/plugins/android/androidbuildapkwidget.h @@ -63,6 +63,7 @@ private slots: void certificatesAliasComboBoxCurrentIndexChanged(const QString &alias); void certificatesAliasComboBoxActivated(const QString &alias); void updateSigningWarning(); + void updateDebugDeploySigningWarning(); 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 f663669028a..bdcaca57c37 100644 --- a/src/plugins/android/androidbuildapkwidget.ui +++ b/src/plugins/android/androidbuildapkwidget.ui @@ -123,6 +123,39 @@ + + + + + + + 0 + 0 + + + + + + + :/core/images/error.png + + + + + + + + 0 + 0 + + + + Signing an APK that uses "Deploy local Qt libraries" is not allowed + + + + +