From 35d31e87b9569712d26e99bb2c3c79a86fa65c53 Mon Sep 17 00:00:00 2001 From: Gabriel Donadel Dall'Agnol Date: Sat, 5 Sep 2026 09:04:03 -0700 Subject: [PATCH 1/2] fix(android): skip explicit Kotlin plugin when AGP registers the kotlin extension AGP 9 ships built-in Kotlin support and registers the kotlin extension itself. Applying the Kotlin plugin again fails configuration with "Cannot add extension with name 'kotlin'". Check for the extension directly, which needs no AGP version table and covers AGP 10, where the android.builtInKotlin opt-out is removed. --- android/build.gradle | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/android/build.gradle b/android/build.gradle index 7e46c0b..46748a9 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -17,7 +17,14 @@ def safeExtGet(prop, fallback) { } apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' +// AGP 9 ships built-in Kotlin support and registers the `kotlin` extension +// itself. Applying the Kotlin plugin on top of it fails configuration 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' +} + apply plugin: 'com.facebook.react' android { From ee9db75399bb25bca207b58a2695c61c71f3aabb Mon Sep 17 00:00:00 2001 From: "expo-tuft[bot]" <288127324+expo-tuft[bot]@users.noreply.github.com> Date: Tue, 15 Sep 2026 01:12:12 -0700 Subject: [PATCH 2/2] fix(android): drop the unused kotlin-android plugin Per maintainer review: this module has no Kotlin sources, so the guard is unnecessary and the apply can simply be removed. The library module holds 33 .java files and no .kt files; the only Kotlin in the repo lives in example/android/app, which is a separate Gradle project with its own build file. Android codegen emits Java here, per the javaPackageName in codegenConfig. Nothing else in this build file depends on the Kotlin plugin -- there is no kotlinOptions block and no Kotlin stdlib dependency. Co-authored-by: gabrieldonadel <11707729+gabrieldonadel@users.noreply.github.com> --- android/build.gradle | 8 -------- 1 file changed, 8 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 46748a9..93052f4 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -17,14 +17,6 @@ def safeExtGet(prop, fallback) { } apply plugin: 'com.android.library' -// AGP 9 ships built-in Kotlin support and registers the `kotlin` extension -// itself. Applying the Kotlin plugin on top of it fails configuration 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' -} - apply plugin: 'com.facebook.react' android {