summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
authorAlexey Edelev <alexey.edelev@qt.io>2021-08-23 15:39:34 +0200
committerAlexey Edelev <alexey.edelev@qt.io>2021-08-23 20:05:27 +0200
commitf037357232c2157d942ad9a104543d087f8a043b (patch)
treece4edf3e39ebf2179e8078d0240a69940ffbef5d /src/tools
parent86d338383e62189cbf46239c2866d3c59092add4 (diff)
Add the json option to disable the zstd based compression
Need to disable zstd compression if its support is not built in Qt for Android. The flag is dected when configuring user's project and is a part of the deployment settings. This partially fixes loading of android_rcc_bundle.rcc. Pick-to: 6.2 Task-number: QTBUG-93340 Task-number: QTBUG-95969 Change-Id: I635afb3f9e182a559d53e9344e07f62788f9837d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/androiddeployqt/main.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp
index 25e5ea3d44..b4771c8f95 100644
--- a/src/tools/androiddeployqt/main.cpp
+++ b/src/tools/androiddeployqt/main.cpp
@@ -195,6 +195,7 @@ struct Options
QString toolchainPrefix;
QString ndkHost;
bool buildAAB = false;
+ bool isZstdCompressionEnabled = false;
// Package information
@@ -1108,6 +1109,12 @@ bool readInputFile(Options *options)
const QJsonValue qrcFiles = jsonObject.value(QLatin1String("qrcFiles"));
options->qrcFiles = qrcFiles.toString().split(QLatin1Char(','), Qt::SkipEmptyParts);
}
+ {
+ const QJsonValue zstdCompressionFlag = jsonObject.value(QLatin1String("zstdCompression"));
+ if (zstdCompressionFlag.isBool()) {
+ options->isZstdCompressionEnabled = zstdCompressionFlag.toBool();
+ }
+ }
options->packageName = packageNameFromAndroidManifest(options->androidSourceDirectory + QLatin1String("/AndroidManifest.xml"));
if (options->packageName.isEmpty())
options->packageName = cleanPackageName(QLatin1String("org.qtproject.example.%1").arg(options->applicationBinary));
@@ -2086,9 +2093,14 @@ bool createRcc(const Options &options)
if (!res)
return false;
+ QLatin1String noZstd;
+ if (!options.isZstdCompressionEnabled)
+ noZstd = QLatin1String("--no-zstd");
+
QFile::rename(QLatin1String("%1/android_rcc_bundle.qrc").arg(assetsDir), QLatin1String("%1/android_rcc_bundle/android_rcc_bundle.qrc").arg(assetsDir));
- res = runCommand(options, QLatin1String("%1 %2 --binary -o %3 android_rcc_bundle.qrc").arg(rcc, shellQuote(QLatin1String("--root=/android_rcc_bundle/")),
+ res = runCommand(options, QLatin1String("%1 %2 %3 --binary -o %4 android_rcc_bundle.qrc").arg(rcc, shellQuote(QLatin1String("--root=/android_rcc_bundle/")),
+ noZstd,
shellQuote(QLatin1String("%1/android_rcc_bundle.rcc").arg(assetsDir))));
if (!QDir::setCurrent(currentDir)) {
fprintf(stderr, "Cannot set current dir to: %s\n", qPrintable(currentDir));