aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/android
diff options
context:
space:
mode:
authorAssam Boudjelthia <assam.boudjelthia@qt.io>2020-08-24 09:24:22 +0300
committerAssam Boudjelthia <assam.boudjelthia@qt.io>2020-09-11 10:00:32 +0000
commite9c944065301b66c3434dc5d26c365190b67c39e (patch)
treee46e1cb402bf044e6c0ea072502228c1f4a4d159 /src/plugins/android
parent29bc4801e3a8c0b8cbaf4d78c745256226975a20 (diff)
Android: allow passing apps arguments via manifest on non-debug mode
Uses 00a1e5da7e1aea373a7e6be1d51e1573ff167dd8. Task-number: QTCREATORBUG-23712 Change-Id: I9a7e134420b608815589578f3851abf150674fd3 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Diffstat (limited to 'src/plugins/android')
-rw-r--r--src/plugins/android/androidconstants.h1
-rw-r--r--src/plugins/android/androidrunconfiguration.cpp11
-rw-r--r--src/plugins/android/androidrunnerworker.cpp4
3 files changed, 14 insertions, 2 deletions
diff --git a/src/plugins/android/androidconstants.h b/src/plugins/android/androidconstants.h
index 7c402fea12..14534979ae 100644
--- a/src/plugins/android/androidconstants.h
+++ b/src/plugins/android/androidconstants.h
@@ -65,6 +65,7 @@ const char ANDROID_ARCHITECTURE[] = "Android.Architecture";
const char ANDROID_PACKAGE_SOURCE_DIR[] = "AndroidPackageSourceDir";
const char ANDROID_EXTRA_LIBS[] = "AndroidExtraLibs";
const char ANDROID_ABIS[] = "ANDROID_ABIS";
+const char ANDROID_APPLICATION_ARGUMENTS[] = "ANDROID_APPLICATION_ARGUMENTS";
const char ANDROID_PACKAGENAME[] = "Android.PackageName";
const char ANDROID_PACKAGE_INSTALLATION_STEP_ID[]
diff --git a/src/plugins/android/androidrunconfiguration.cpp b/src/plugins/android/androidrunconfiguration.cpp
index 7b642f036e..6803ffaa1a 100644
--- a/src/plugins/android/androidrunconfiguration.cpp
+++ b/src/plugins/android/androidrunconfiguration.cpp
@@ -112,7 +112,16 @@ AndroidRunConfiguration::AndroidRunConfiguration(Target *target, Utils::Id id)
auto envAspect = addAspect<EnvironmentAspect>();
envAspect->addSupportedBaseEnvironment(tr("Clean Environment"), {});
- addAspect<ArgumentsAspect>();
+ auto extraAppArgsAspect = addAspect<ArgumentsAspect>();
+
+ connect(extraAppArgsAspect, &ArgumentsAspect::argumentsChanged, this, [target](const QString &arguments) {
+ if (target->buildConfigurations().first()->buildType() == BuildConfiguration::BuildType::Release) {
+ const QString buildKey = target->activeBuildKey();
+ target->buildSystem()->setExtraData(buildKey,
+ Android::Constants::ANDROID_APPLICATION_ARGUMENTS,
+ arguments);
+ }
+ });
auto amStartArgsAspect = addAspect<StringAspect>();
amStartArgsAspect->setId(Constants::ANDROID_AMSTARTARGS);
diff --git a/src/plugins/android/androidrunnerworker.cpp b/src/plugins/android/androidrunnerworker.cpp
index a1ec359a81..cd3d07362e 100644
--- a/src/plugins/android/androidrunnerworker.cpp
+++ b/src/plugins/android/androidrunnerworker.cpp
@@ -286,7 +286,9 @@ AndroidRunnerWorker::AndroidRunnerWorker(RunWorker *runner, const QString &packa
qCDebug(androidRunWorkerLog) << "Environment variables for the app"
<< m_extraEnvVars.toStringList();
- m_extraAppParams = runControl->runnable().commandLineArguments;
+ if (target->buildConfigurations().first()->buildType() != BuildConfiguration::BuildType::Release) {
+ m_extraAppParams = runControl->runnable().commandLineArguments;
+ }
if (auto aspect = runControl->aspect(Constants::ANDROID_AMSTARTARGS)) {
const QString startArgs = static_cast<StringAspect *>(aspect)->value();