summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
authorAndy Shaw <andy.shaw@qt.io>2018-10-15 09:23:26 +0200
committerAndy Shaw <andy.shaw@qt.io>2019-02-04 16:57:07 +0000
commit9435526d507611b8b54f7c65df9febdde193c7bf (patch)
tree49544be7f75214b6f8710e9c6cbae3cee25ac7b5 /src/tools
parent29d5a287abc3d3c9b75619db18042dea66236cb3 (diff)
qmake: Add variables for setting the version number and name in Android
This makes it much easier to have the version information set for an Android APK without having to manually modify the AndroidManifest.xml each time. [ChangeLog][Android][qmake] Can now set the version name and code for Android using ANDROID_VERSION_NAME and ANDROID_VERSION_CODE respectively in the pro file. Change-Id: Ie6813bc3a7444f7baa5e772b93bc2695d9b81e57 Done-with: Markus Maier <markus.maier@rosenberger.de> Reviewed-by: Markus Maier <markus.maier@rosenberger.de> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/androiddeployqt/main.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp
index af3a3ae39a..9402a1a881 100644
--- a/src/tools/androiddeployqt/main.cpp
+++ b/src/tools/androiddeployqt/main.cpp
@@ -148,6 +148,10 @@ struct Options
QString rootPath;
QStringList qmlImportPaths;
+ // Versioning
+ QString versionName;
+ QString versionCode;
+
// lib c++ path
QString stdCppPath;
QString stdCppName = QStringLiteral("gnustl_shared");
@@ -757,6 +761,22 @@ bool readInputFile(Options *options)
}
{
+ const QJsonValue androidVersionName = jsonObject.value(QStringLiteral("android-version-name"));
+ if (!androidVersionName.isUndefined())
+ options->versionName = androidVersionName.toString();
+ else
+ options->versionName = QStringLiteral("1.0");
+ }
+
+ {
+ const QJsonValue androidVersionCode = jsonObject.value(QStringLiteral("android-version-code"));
+ if (!androidVersionCode.isUndefined())
+ options->versionCode = androidVersionCode.toString();
+ else
+ options->versionCode = QStringLiteral("1");
+ }
+
+ {
const QJsonValue applicationBinary = jsonObject.value(QStringLiteral("application-binary"));
if (applicationBinary.isUndefined()) {
fprintf(stderr, "No application binary defined in json file.\n");
@@ -1324,6 +1344,8 @@ bool updateAndroidManifest(Options &options)
replacements[QLatin1String("-- %%INSERT_LOCAL_LIBS%% --")] = localLibs.join(QLatin1Char(':'));
replacements[QLatin1String("-- %%INSERT_LOCAL_JARS%% --")] = options.localJars.join(QLatin1Char(':'));
replacements[QLatin1String("-- %%INSERT_INIT_CLASSES%% --")] = options.initClasses.join(QLatin1Char(':'));
+ replacements[QLatin1String("-- %%INSERT_VERSION_NAME%% --")] = options.versionName;
+ replacements[QLatin1String("-- %%INSERT_VERSION_CODE%% --")] = options.versionCode;
replacements[QLatin1String("package=\"org.qtproject.example\"")] = QString::fromLatin1("package=\"%1\"").arg(options.packageName);
replacements[QLatin1String("-- %%BUNDLE_LOCAL_QT_LIBS%% --")]
= (options.deploymentMechanism == Options::Bundled) ? QString::fromLatin1("1") : QString::fromLatin1("0");