From f882804ab6e6f0d86f1fa8bda8afa260e80348eb Mon Sep 17 00:00:00 2001 From: Nicolas CHAIX Date: Fri, 24 Jul 2026 15:54:32 +0200 Subject: [PATCH 1/2] Upgrade Android toolchain to AGP 9.0.1, Gradle 9.1.0 and Kotlin 2.3.20 - Migrate AGP 9 DSL: packaging block, top-level kotlin compilerOptions, remove targetSdk from library module and rely on built-in Kotlin - Align example app with current Flutter template (AGP 9 compatibility flags added by the Flutter migrator) --- android/build.gradle | 18 ++++++++++-------- .../gradle/wrapper/gradle-wrapper.properties | 2 +- example/android/app/build.gradle | 11 +++++++---- example/android/gradle.properties | 4 ++++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- example/android/settings.gradle | 4 ++-- 6 files changed, 25 insertions(+), 16 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 7df597d6..e277fdab 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -4,14 +4,14 @@ group = "io.didomi.fluttersdk" version = "2.30.0" buildscript { - ext.kotlin_version = "2.2.20" + ext.kotlin_version = "2.3.20" repositories { google() mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:8.13.0") + classpath("com.android.tools.build:gradle:9.0.1") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") } } @@ -25,7 +25,6 @@ rootProject.allprojects { } apply plugin: "com.android.library" -apply plugin: "kotlin-android" android { compileSdk = 36 @@ -37,7 +36,6 @@ android { defaultConfig { minSdk = 21 - targetSdk = 36 multiDexEnabled = true buildConfigField("String", "PLUGIN_VERSION", "\"" + version + "\"") @@ -53,12 +51,16 @@ android { targetCompatibility = JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17 + packaging { + resources { + excludes += "androidsupportmultidexversion.txt" + } } +} - packagingOptions { - exclude("androidsupportmultidexversion.txt") +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } } diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index ed4c299a..a35649f5 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-all.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 826f6638..3d3bfd8f 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -1,7 +1,7 @@ //noinspection GrPackage plugins { id("com.android.application") - id("kotlin-android") + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id("dev.flutter.flutter-gradle-plugin") } @@ -26,6 +26,7 @@ if (flutterVersionName == null) { android { compileSdk = 36 namespace = "io.didomi.flutter.sample" + ndkVersion = "29.0.14206865" defaultConfig { minSdkVersion = flutter.minSdkVersion @@ -36,7 +37,6 @@ android { applicationId = "io.didomi.flutter.sample" multiDexEnabled = true - ndkVersion = "29.0.14206865" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } @@ -57,8 +57,11 @@ android { targetCompatibility = JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17 +} + +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } } diff --git a/example/android/gradle.properties b/example/android/gradle.properties index d9cf55df..e514eedd 100644 --- a/example/android/gradle.properties +++ b/example/android/gradle.properties @@ -1,2 +1,6 @@ org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true +# This builtInKotlin flag was added automatically by Flutter migrator +android.builtInKotlin=false +# This newDsl flag was added automatically by Flutter migrator +android.newDsl=false diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index ed4c299a..a35649f5 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-all.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/example/android/settings.gradle b/example/android/settings.gradle index 7cffcd0e..643d520c 100644 --- a/example/android/settings.gradle +++ b/example/android/settings.gradle @@ -18,8 +18,8 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.13.0" apply false - id "org.jetbrains.kotlin.android" version "2.2.20" apply false + id "com.android.application" version "9.0.1" apply false + id "org.jetbrains.kotlin.android" version "2.3.20" apply false } include ":app" From 86a9be31eb8a08f3c91ac56ed032c3fb575eacac Mon Sep 17 00:00:00 2001 From: Nicolas CHAIX Date: Fri, 24 Jul 2026 15:54:46 +0200 Subject: [PATCH 2/2] Fix iOS deployment target in Swift package manifest Align Package.swift platform with the podspec and the native Didomi SDK requirement (iOS 13.0 instead of 10.0) --- ios/didomi_sdk/Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/didomi_sdk/Package.swift b/ios/didomi_sdk/Package.swift index 75607df5..5f1f2c73 100644 --- a/ios/didomi_sdk/Package.swift +++ b/ios/didomi_sdk/Package.swift @@ -6,7 +6,7 @@ import PackageDescription let package = Package( name: "didomi_sdk", platforms: [ - .iOS("10.0") + .iOS("13.0") ], products: [ .library(name: "didomi-sdk", targets: ["didomi_sdk"])