diff options
author | BogDan Vatra <bogdan@kde.org> | 2020-03-02 17:00:04 +0200 |
---|---|---|
committer | BogDan Vatra <bogdan@kdab.com> | 2020-03-04 18:02:35 +0000 |
commit | 519ea72108fae7f5c4ed7c3e9fed3a999a16ed73 (patch) | |
tree | 6e23a7b796cf7a0601cfc1151cab3f87b4446152 /src | |
parent | 813111689629a71e51d7d149a5f689b2961f2716 (diff) |
Android: Bump gradle (plugin) versions
Move min & target sdk from AndroidManifest.xml to build.gradle
Fixes: QTBUG-70817
Change-Id: Id9bb9825a3232587e0255b2d3d6f0273c5f9b66a
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.properties | 2 | ||||
-rw-r--r-- | src/android/templates/AndroidManifest.xml | 2 | ||||
-rw-r--r-- | src/android/templates/build.gradle | 8 | ||||
-rw-r--r-- | src/corelib/Qt5AndroidSupport.cmake | 5 | ||||
-rw-r--r-- | src/tools/androiddeployqt/main.cpp | 16 |
5 files changed, 29 insertions, 4 deletions
diff --git a/src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.properties b/src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.properties index 4b7e1f3d38..5028f28f8e 100644 --- a/src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.properties +++ b/src/3rdparty/gradle/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/android/templates/AndroidManifest.xml b/src/android/templates/AndroidManifest.xml index 6d0f4e0d45..e31dea6a8c 100644 --- a/src/android/templates/AndroidManifest.xml +++ b/src/android/templates/AndroidManifest.xml @@ -1,7 +1,5 @@ <?xml version='1.0' encoding='utf-8'?> <manifest package="org.qtproject.example" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:installLocation="auto"> - <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/> - <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application. Remove the comment if you do not require these default permissions. --> <!-- %%INSERT_PERMISSIONS --> diff --git a/src/android/templates/build.gradle b/src/android/templates/build.gradle index 3087d08c83..d5b3b93499 100644 --- a/src/android/templates/build.gradle +++ b/src/android/templates/build.gradle @@ -5,7 +5,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.5.0' + classpath 'com.android.tools.build:gradle:3.6.0' } } @@ -59,4 +59,10 @@ android { aaptOptions { noCompress 'rcc' } + + defaultConfig { + resConfig "en" + minSdkVersion = qtMinSdkVersion + targetSdkVersion = qtTargetSdkVersion + } } diff --git a/src/corelib/Qt5AndroidSupport.cmake b/src/corelib/Qt5AndroidSupport.cmake index 5f24fb0e8c..4db38f3957 100644 --- a/src/corelib/Qt5AndroidSupport.cmake +++ b/src/corelib/Qt5AndroidSupport.cmake @@ -18,6 +18,8 @@ if (NOT ${PROJECT_NAME}-MultiAbiBuild) option(ANDROID_BUILD_ABI_${abi} "Enable the build for Android ${abi}" ${abi_initial_value}) endif() endforeach() + option(ANDROID_MIN_SDK_VERSION "Android minimum SDK version" "21") + option(ANDROID_TARGET_SDK_VERSION "Android target SDK version" "28") # Make sure to delete the "android-build" directory, which contains all the # build artefacts, and also the androiddeployqt/gradle artefacts @@ -101,6 +103,9 @@ if (NOT ${PROJECT_NAME}-MultiAbiBuild) generate_json_variable(ANDROID_VERSION_NAME "android-version-name") generate_json_variable_list(ANDROID_EXTRA_LIBS "android-extra-libs") generate_json_variable_list(QML_IMPORT_PATH "qml-import-paths") + generate_json_variable_list(ANDROID_MIN_SDK_VERSION "android-min-sdk-version") + generate_json_variable_list(ANDROID_TARGET_SDK_VERSION "android-target-sdk-version") + configure_file( "${CMAKE_BINARY_DIR}/android_deployment_settings.json.in" diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp index 97e5c9eb69..2799f97fe8 100644 --- a/src/tools/androiddeployqt/main.cpp +++ b/src/tools/androiddeployqt/main.cpp @@ -169,6 +169,8 @@ struct Options // Versioning QString versionName; QString versionCode; + QByteArray minSdkVersion{"21"}; + QByteArray targetSdkVersion{"28"}; // lib c++ path QString stdCppPath; @@ -850,6 +852,18 @@ bool readInputFile(Options *options) } { + const QJsonValue ver = jsonObject.value(QLatin1String("android-min-sdk-version")); + if (!ver.isUndefined()) + options->minSdkVersion = ver.toString().toUtf8(); + } + + { + const QJsonValue ver = jsonObject.value(QLatin1String("android-target-sdk-version")); + if (!ver.isUndefined()) + options->targetSdkVersion = ver.toString().toUtf8(); + } + + { const QJsonObject targetArchitectures = jsonObject.value(QLatin1String("architectures")).toObject(); if (targetArchitectures.isEmpty()) { fprintf(stderr, "No target architecture defined in json file.\n"); @@ -2298,6 +2312,8 @@ bool buildAndroidProject(const Options &options) gradleProperties["buildDir"] = "build"; gradleProperties["qt5AndroidDir"] = (options.qtInstallDirectory + QLatin1String("/src/android/java")).toUtf8(); gradleProperties["androidCompileSdkVersion"] = options.androidPlatform.split(QLatin1Char('-')).last().toLocal8Bit(); + gradleProperties["qtMinSdkVersion"] = options.minSdkVersion; + gradleProperties["qtTargetSdkVersion"] = options.targetSdkVersion; if (gradleProperties["androidBuildToolsVersion"].isEmpty()) gradleProperties["androidBuildToolsVersion"] = options.sdkBuildToolsVersion.toLocal8Bit(); |