summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAssam Boudjelthia <assam.boudjelthia@qt.io>2021-10-06 12:29:09 +0300
committerAssam Boudjelthia <assam.boudjelthia@qt.io>2021-10-13 18:33:32 +0300
commit7235eeab19e7e50ba102938993acc04d14b58164 (patch)
tree4059df1b1212cac138bd47e77f6aff48b7435e7a
parentf7a4a79c62daeba9ab5545c5e0a1f36d5e1fce6b (diff)
Android: replace ndk.dir with android.ndkVersion in build.gradle
The use of ndk.dir in local.properties is deprecated in favor of android.ndkVersion in build.gradle, and will be totatlly removed in the future, so we need to adapt to that. Fixes: QTBUG-91391 Pick-to: 6.2 Change-Id: I54c57113a759d43c3685c9cdf2b9dcc5c948c0fd Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
-rw-r--r--src/android/templates/build.gradle2
-rw-r--r--src/tools/androiddeployqt/main.cpp17
2 files changed, 15 insertions, 4 deletions
diff --git a/src/android/templates/build.gradle b/src/android/templates/build.gradle
index 5db1c67e5f..94e8196756 100644
--- a/src/android/templates/build.gradle
+++ b/src/android/templates/build.gradle
@@ -35,8 +35,8 @@ android {
*******************************************************/
compileSdkVersion androidCompileSdkVersion.toInteger()
-
buildToolsVersion androidBuildToolsVersion
+ ndkVersion androidNdkVersion
sourceSets {
main {
diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp
index 431fa51d9e..4ef16135d5 100644
--- a/src/tools/androiddeployqt/main.cpp
+++ b/src/tools/androiddeployqt/main.cpp
@@ -41,6 +41,7 @@
#include <QDirIterator>
#include <QElapsedTimer>
#include <QRegularExpression>
+#include <QSettings>
#include <depfile_shared.h>
@@ -156,6 +157,7 @@ struct Options
QString sdkPath;
QString sdkBuildToolsVersion;
QString ndkPath;
+ QString ndkVersion;
QString jdkPath;
// Build paths
@@ -1044,6 +1046,15 @@ bool readInputFile(Options *options)
return false;
}
options->ndkPath = ndk.toString();
+ const QString ndkPropertiesPath = options->ndkPath + QStringLiteral("/source.properties");
+ const QSettings settings(ndkPropertiesPath, QSettings::IniFormat);
+ const QString ndkVersion = settings.value(QStringLiteral("Pkg.Revision")).toString();
+ if (ndkVersion.isEmpty()) {
+ fprintf(stderr, "Couldn't retrieve the NDK version from \"%s\".\n",
+ qPrintable(ndkPropertiesPath));
+ return false;
+ }
+ options->ndkVersion = ndkVersion;
}
{
@@ -2592,9 +2603,8 @@ bool buildAndroidProject(const Options &options)
{
GradleProperties localProperties;
localProperties["sdk.dir"] = QDir::fromNativeSeparators(options.sdkPath).toUtf8();
- localProperties["ndk.dir"] = QDir::fromNativeSeparators(options.ndkPath).toUtf8();
-
- if (!mergeGradleProperties(options.outputDirectory + QLatin1String("local.properties"), localProperties))
+ const QString localPropertiesPath = options.outputDirectory + QLatin1String("local.properties");
+ if (!mergeGradleProperties(localPropertiesPath, localProperties))
return false;
QString gradlePropertiesPath = options.outputDirectory + QLatin1String("gradle.properties");
@@ -2609,6 +2619,7 @@ bool buildAndroidProject(const Options &options)
gradleProperties["androidCompileSdkVersion"] = options.androidPlatform.split(QLatin1Char('-')).last().toLocal8Bit();
gradleProperties["qtMinSdkVersion"] = options.minSdkVersion;
gradleProperties["qtTargetSdkVersion"] = options.targetSdkVersion;
+ gradleProperties["androidNdkVersion"] = options.ndkVersion.toUtf8();
if (gradleProperties["androidBuildToolsVersion"].isEmpty())
gradleProperties["androidBuildToolsVersion"] = options.sdkBuildToolsVersion.toLocal8Bit();
QString abiList;