From fbe7712b0373d573349241c815d0b5bd4c5ed68a Mon Sep 17 00:00:00 2001 From: MohitMaliFtechiz Date: Wed, 19 Feb 2025 14:50:41 +0530 Subject: [PATCH] Added support for Android 16. * Upgraded the AGP to which supports Android 16. * Replaced the and with , and to add support for Android 16. --- app/build.gradle.kts | 4 ++++ buildSrc/build.gradle.kts | 2 +- buildSrc/src/main/kotlin/Config.kt | 4 ++-- buildSrc/src/main/kotlin/Versions.kt | 2 +- .../main/kotlin/plugin/AllProjectConfigurer.kt | 6 ------ core/build.gradle.kts | 4 ++++ custom/build.gradle.kts | 16 ++++++++++------ gradle/wrapper/gradle-wrapper.properties | 2 +- 8 files changed, 23 insertions(+), 17 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 805350b16..268631791 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -28,13 +28,17 @@ android { // This is now specified in the Gradle configuration instead of declaring // it directly in the AndroidManifest file. namespace = "org.kiwix.kiwixmobile" + compileSdkPreview = Config.compileSdk defaultConfig { + minSdk = Config.minSdk base.archivesName.set(apkPrefix) + targetSdkPreview = Config.targetSdk resValue("string", "app_name", "Kiwix") resValue("string", "app_search_string", "Search Kiwix") versionCode = "".getVersionCode() versionName = generateVersionName() manifestPlaceholders["permission"] = "android.permission.MANAGE_EXTERNAL_STORAGE" + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } lint { checkDependencies = true diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index cb174da13..929dd7628 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -11,7 +11,7 @@ repositories { } dependencies { - implementation("com.android.tools.build:gradle:8.7.2") + implementation("com.android.tools.build:gradle:8.10.0-alpha05") implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.0") implementation("com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin:2.0.0-1.0.24") implementation("org.jacoco:org.jacoco.core:0.8.12") diff --git a/buildSrc/src/main/kotlin/Config.kt b/buildSrc/src/main/kotlin/Config.kt index dff15bd95..0f7243050 100644 --- a/buildSrc/src/main/kotlin/Config.kt +++ b/buildSrc/src/main/kotlin/Config.kt @@ -22,9 +22,9 @@ object Config { // Here is a list of all Android versions with their corresponding API // levels: https://apilevels.com/ - const val compileSdk = 35 // SDK version used by Gradle to compile our app. + const val compileSdk = "Baklava" // SDK version used by Gradle to compile our app. const val minSdk = 25 // Minimum SDK (Minimum Support Device) is 25 (Android 7.1 Nougat). - const val targetSdk = 35 // Target SDK (Maximum Support Device) is 34 (Android 14). + const val targetSdk = "Baklava" // Target SDK (Maximum Support Device) is Baklava (Android 16). val javaVersion = JavaVersion.VERSION_17 diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 562cf6cd1..da9bd5d81 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -48,7 +48,7 @@ object Versions { const val android_arch_lifecycle_extensions: String = "1.1.1" - const val com_android_tools_build_gradle: String = "8.7.2" + const val com_android_tools_build_gradle: String = "8.10.0-alpha05" const val de_fayard_buildsrcversions_gradle_plugin: String = "0.7.0" diff --git a/buildSrc/src/main/kotlin/plugin/AllProjectConfigurer.kt b/buildSrc/src/main/kotlin/plugin/AllProjectConfigurer.kt index 6b8a1dbd3..962d59de9 100644 --- a/buildSrc/src/main/kotlin/plugin/AllProjectConfigurer.kt +++ b/buildSrc/src/main/kotlin/plugin/AllProjectConfigurer.kt @@ -58,12 +58,6 @@ class AllProjectConfigurer { if (isLibrary) { namespace = "org.kiwix.kiwixmobile.core" } - setCompileSdkVersion(Config.compileSdk) - defaultConfig { - minSdk = Config.minSdk - setTargetSdkVersion(Config.targetSdk) - testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - } buildTypes { getByName("debug") { diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 20216805f..4cba57453 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -18,8 +18,12 @@ plugins.apply(KiwixConfigurationPlugin::class) apply(plugin = "io.objectbox") android { + compileSdkPreview = Config.compileSdk defaultConfig { + minSdk = Config.minSdk + targetSdkPreview = Config.targetSdk buildConfigField("long", "VERSION_CODE", "".getVersionCode().toString()) + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { getByName("release") { diff --git a/custom/build.gradle.kts b/custom/build.gradle.kts index 665522333..6ed3b9576 100644 --- a/custom/build.gradle.kts +++ b/custom/build.gradle.kts @@ -4,16 +4,16 @@ import com.android.build.gradle.internal.dsl.ProductFlavor import custom.CustomApps import custom.createPublisher import custom.transactionWithCommit -import plugin.KiwixConfigurationPlugin -import java.net.URI -import java.net.URLDecoder -import java.util.Locale -import java.util.Base64 -import java.io.FileOutputStream import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.ResponseBody +import plugin.KiwixConfigurationPlugin import java.io.FileNotFoundException +import java.io.FileOutputStream +import java.net.URI +import java.net.URLDecoder +import java.util.Base64 +import java.util.Locale plugins { android @@ -22,8 +22,12 @@ plugins { plugins.apply(KiwixConfigurationPlugin::class) android { + compileSdkPreview = Config.compileSdk defaultConfig { applicationId = "org.kiwix" + minSdk = Config.minSdk + targetSdkPreview = Config.targetSdk + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } flavorDimensions += "default" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index d190455a7..0856dc972 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Mon Dec 19 16:13:45 IST 2022 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME