From 594446ee42b4c50a3acc6d9e5fcb9248a874726f Mon Sep 17 00:00:00 2001 From: Hur Ali Date: Tue, 16 Jun 2026 14:21:25 +0500 Subject: [PATCH 1/3] feat: adopt AGP9 with backward compat --- .../android/build.gradle | 27 ++++++++++++++----- .../gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/packages/react-native-gesture-handler/android/build.gradle b/packages/react-native-gesture-handler/android/build.gradle index 8e12a59ce8..308b7d621c 100644 --- a/packages/react-native-gesture-handler/android/build.gradle +++ b/packages/react-native-gesture-handler/android/build.gradle @@ -60,7 +60,22 @@ if (isNewArchitectureEnabled()) { } apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' + +def shouldEnableAgpFallback() { + def agpMajorVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')[0].toInteger() + if (agpMajorVersion <= 8) { + return true + } + + def propertyVal = providers.gradleProperty("android.builtInKotlin").orNull + def isBuiltInKotlinEnabled = (propertyVal == "false") ? false : true + + return !isBuiltInKotlinEnabled +} + +if (shouldEnableAgpFallback()) { + apply plugin: 'kotlin-android' +} if (project == rootProject) { apply from: "spotless.gradle" @@ -201,17 +216,17 @@ android { } sourceSets.main { - java { + kotlin { if (shouldUseCommonInterfaceFromReanimated()) { - srcDirs += 'reanimated/src/main/java' + directories.add('reanimated/src/main/java') } else { - srcDirs += 'noreanimated/src/main/java' + directories.add('noreanimated/src/main/java') } if (shouldUseCommonInterfaceFromRNSVG()) { - srcDirs += 'svg/src/main/java' + directories.add('svg/src/main/java') } else { - srcDirs += 'nosvg/src/main/java' + directories.add('nosvg/src/main/java') } } } diff --git a/packages/react-native-gesture-handler/android/gradle/wrapper/gradle-wrapper.properties b/packages/react-native-gesture-handler/android/gradle/wrapper/gradle-wrapper.properties index 260504c0cb..221c4f9822 100644 --- a/packages/react-native-gesture-handler/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/react-native-gesture-handler/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 47fe0870c52f8996d84d7d563c600d6c10e50148 Mon Sep 17 00:00:00 2001 From: Hur Ali Date: Tue, 16 Jun 2026 15:09:59 +0500 Subject: [PATCH 2/3] fix: pr review --- packages/react-native-gesture-handler/android/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-native-gesture-handler/android/build.gradle b/packages/react-native-gesture-handler/android/build.gradle index 308b7d621c..372c0c2fa5 100644 --- a/packages/react-native-gesture-handler/android/build.gradle +++ b/packages/react-native-gesture-handler/android/build.gradle @@ -68,7 +68,7 @@ def shouldEnableAgpFallback() { } def propertyVal = providers.gradleProperty("android.builtInKotlin").orNull - def isBuiltInKotlinEnabled = (propertyVal == "false") ? false : true + def isBuiltInKotlinEnabled = propertyVal != null ? propertyVal.toBoolean() : true return !isBuiltInKotlinEnabled } From 8ce791cb3b3918746f5080d46d089204a22a6d40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82?= Date: Wed, 12 Aug 2026 15:51:04 +0200 Subject: [PATCH 3/3] Revert wrapper change --- .../android/gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-native-gesture-handler/android/gradle/wrapper/gradle-wrapper.properties b/packages/react-native-gesture-handler/android/gradle/wrapper/gradle-wrapper.properties index 221c4f9822..260504c0cb 100644 --- a/packages/react-native-gesture-handler/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/react-native-gesture-handler/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists