diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-08-04 09:03:50 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-08-05 10:05:02 +0200 |
commit | 7dddd9f30123c020cedf68ef76378cfe7b5216bf (patch) | |
tree | 0e4c2d0750044aec417f9745aa2d82887f49c69c /src/androiddeployqt/main.cpp | |
parent | 59806415ea691e43ef6e3be541f94cf6238d44a5 (diff) | |
parent | b11dcfb0f185483224555c69761bb7e2280e7513 (diff) | |
download | qttools-7dddd9f30123c020cedf68ef76378cfe7b5216bf.tar.gz |
Merge remote-tracking branch 'origin/5.3' into dev
Manually adjusted src/androiddeployqt/main.cpp
after 73e4f9593abecad68b39bbf68564a92dff5222e6
Patch by BogDan Vatra.
Change-Id: Idcf4ae7f54346119ee09001b1b55225a08dd9b21
Diffstat (limited to 'src/androiddeployqt/main.cpp')
-rw-r--r-- | src/androiddeployqt/main.cpp | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/src/androiddeployqt/main.cpp b/src/androiddeployqt/main.cpp index 8caf8e9da..64a1fd02c 100644 --- a/src/androiddeployqt/main.cpp +++ b/src/androiddeployqt/main.cpp @@ -139,6 +139,7 @@ struct Options // External tools QString sdkPath; + QString sdkBuildToolsVersion; QString ndkPath; QString antTool; QString jdkPath; @@ -648,13 +649,20 @@ bool readInputFile(Options *options) return false; } else { if (!QDir(options->sdkPath + QLatin1String("/platforms/") + options->androidPlatform).exists()) { - fprintf(stderr, "Warning: Android platform '%s' does not exist in NDK.\n", + fprintf(stderr, "Warning: Android platform '%s' does not exist in SDK.\n", qPrintable(options->androidPlatform)); } } } { + + QJsonValue value = jsonObject.value("sdkBuildToolsRevision"); + if (!value.isUndefined()) + options->sdkBuildToolsVersion = value.toString(); + } + + { QJsonValue qtInstallDirectory = jsonObject.value("qt"); if (qtInstallDirectory.isUndefined()) { fprintf(stderr, "No Qt directory in json file %s\n", qPrintable(options->inputFileName)); @@ -1460,6 +1468,18 @@ bool readDependencies(Options *options) if (!readDependenciesFromElf(options, options->applicationBinary, &usedDependencies, &remainingDependencies)) return false; + // Until we have support non-gui applications on Android, always add Qt Gui + // as a dependency (otherwise the platform plugin cannot be deployed, and + // the application will not run). + QLatin1String guiLib("lib/libQt5Gui.so"); + if (!usedDependencies.contains(guiLib)) { + QtDependency dep(guiLib, options->qtInstallDirectory + QLatin1Char('/') + guiLib); + options->qtDependencies.append(dep); + usedDependencies.insert(guiLib); + if (!readAndroidDependencyXml(options, QLatin1String("Qt5Gui"), &usedDependencies, &remainingDependencies)) + return false; + } + QString qtDir = options->qtInstallDirectory + QLatin1Char('/'); while (!remainingDependencies.isEmpty()) { @@ -2171,8 +2191,14 @@ bool signPackage(const Options &options) #endif if (!QFile::exists(zipAlignTool)) { - fprintf(stderr, "zipalign tool not found: %s\n", qPrintable(zipAlignTool)); - return false; + zipAlignTool = options.sdkPath + QLatin1String("/build-tools/") + options.sdkBuildToolsVersion + QLatin1String("/zipalign"); +#if defined(Q_OS_WIN32) + zipAlignTool += QLatin1String(".exe"); +#endif + if (!QFile::exists(zipAlignTool)) { + fprintf(stderr, "zipalign tool not found: %s\n", qPrintable(zipAlignTool)); + return false; + } } zipAlignTool = QString::fromLatin1("%1%2 -f 4 %3 %4") |