From b11dcfb0f185483224555c69761bb7e2280e7513 Mon Sep 17 00:00:00 2001
From: BogDan Vatra <bogdan@kde.org>
Date: Tue, 29 Jul 2014 16:25:51 +0300
Subject: [PATCH] Android: fix zipAlign location.

Stating with android tools v23, the zipAlign tool was moved from
<android_sdk>/tools to <android_sdk>/build-tools/<build_tools_version>.

Task-number:QTBUG-40481
Change-Id: Id9207b6e382b0e79522d9fc529453ccd39aebe0d
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
---
 src/androiddeployqt/main.cpp | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/androiddeployqt/main.cpp b/src/androiddeployqt/main.cpp
index b1279d672..6c5ae31c8 100644
--- a/src/androiddeployqt/main.cpp
+++ b/src/androiddeployqt/main.cpp
@@ -126,6 +126,7 @@ struct Options
 
     // External tools
     QString sdkPath;
+    QString sdkBuildToolsVersion;
     QString ndkPath;
     QString antTool;
     QString jdkPath;
@@ -634,12 +635,19 @@ 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()) {
@@ -2086,8 +2094,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")
-- 
GitLab