diff --git a/src/android/templates/build.gradle b/src/android/templates/build.gradle index 5db1c67e5f1..94e81967561 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 32346db9215..9eb4a90c2e8 100644 --- a/src/tools/androiddeployqt/main.cpp +++ b/src/tools/androiddeployqt/main.cpp @@ -41,6 +41,7 @@ #include #include #include +#include #include @@ -161,6 +162,7 @@ struct Options QString sdkPath; QString sdkBuildToolsVersion; QString ndkPath; + QString ndkVersion; QString jdkPath; // Build paths @@ -987,6 +989,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; } { @@ -2520,9 +2531,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"); @@ -2537,6 +2547,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;