diff --git a/android/build.gradle b/android/build.gradle index a8a2416fb..9ec049bb5 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -12,7 +12,13 @@ buildscript { } apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' +// AGP 9 ships built-in Kotlin support and registers the `kotlin` extension +// itself. Applying kotlin-android on top of it fails with +// "Cannot add extension with name 'kotlin'". Only apply it when nothing +// has registered that extension yet. +if (project.extensions.findByName('kotlin') == null) { + apply plugin: 'kotlin-android' +} def getExtOrDefault(name) { return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['Purchases_' + name] diff --git a/react-native-purchases-ui/android/build.gradle b/react-native-purchases-ui/android/build.gradle index 1309b9cda..ec7984851 100644 --- a/react-native-purchases-ui/android/build.gradle +++ b/react-native-purchases-ui/android/build.gradle @@ -19,7 +19,13 @@ def isNewArchitectureEnabled() { } apply plugin: "com.android.library" -apply plugin: "kotlin-android" +// AGP 9 ships built-in Kotlin support and registers the `kotlin` extension +// itself. Applying kotlin-android on top of it fails with +// "Cannot add extension with name 'kotlin'". Only apply it when nothing +// has registered that extension yet. +if (project.extensions.findByName('kotlin') == null) { + apply plugin: "kotlin-android" +} if (isNewArchitectureEnabled()) { apply plugin: "com.facebook.react"