diff --git a/packages/ndk_flutter/android/build.gradle b/packages/ndk_flutter/android/build.gradle index 6312bb6fd..deaf7fcd8 100644 --- a/packages/ndk_flutter/android/build.gradle +++ b/packages/ndk_flutter/android/build.gradle @@ -21,7 +21,11 @@ allprojects { } apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' + +// AGP 9+ bundles Kotlin (Flutter Built-in Kotlin); only apply KGP ourselves on older AGP. +// Must stay on one line: Flutter's detection flags any line starting with `apply plugin: 'kotlin-android'`. +def agpMajor = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')[0] as int +if (agpMajor < 9) { apply plugin: 'kotlin-android' } android { if (project.android.hasProperty("namespace")) { @@ -35,10 +39,6 @@ android { targetCompatibility = JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = '17' - } - sourceSets { main.java.srcDirs += 'src/main/kotlin' test.java.srcDirs += 'src/test/kotlin' @@ -67,6 +67,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} + subprojects { afterEvaluate { project -> if (project.extensions.findByName("android") != null) {