react-native-gesture-handler: Task :react-native-gesture-handler:compileDebugKotlin FAILED RN 0.69.3 with new arch

Description

When I build my app its failed with this errors:

Task :react-native-gesture-handler:compileDebugKotlin FAILED
e: /Users/myname/Desktop/my-app/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt: (28, 40): Unresolved reference: RNGestureHandlerButtonManagerDelegate
e: /Users/myname/Desktop/my-app/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt: (29, 40): Unresolved reference: RNGestureHandlerButtonManagerInterface
e: /Users/myname/Desktop/my-app/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt: (34, 80): Unresolved reference: RNGestureHandlerButtonManagerInterface
e: /Users/myname/Desktop/my-app/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt: (38, 19): Unresolved reference: RNGestureHandlerButtonManagerDelegate
e: /Users/myname/Desktop/my-app/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt: (47, 3): 'setForeground' overrides nothing
e: /Users/myname/Desktop/my-app/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt: (52, 3): 'setBorderless' overrides nothing
e: /Users/myname/Desktop/my-app/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt: (57, 3): 'setEnabled' overrides nothing
e: /Users/myname/Desktop/my-app/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt: (67, 3): 'setRippleColor' overrides nothing
e: /Users/myname/Desktop/my-app/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt: (72, 3): 'setRippleRadius' overrides nothing
e: /Users/myname/Desktop/my-app/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt: (77, 3): 'setExclusive' overrides nothing
e: /Users/myname/Desktop/my-app/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt: (82, 3): 'setTouchSoundDisabled' overrides nothing
e: /Users/myname/Desktop/my-app/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt: (7, 40): Unresolved reference: RNGestureHandlerRootViewManagerDelegate
e: /Users/myname/Desktop/my-app/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt: (8, 40): Unresolved reference: RNGestureHandlerRootViewManagerInterface
e: /Users/myname/Desktop/my-app/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt: (17, 3): Unresolved reference: RNGestureHandlerRootViewManagerInterface
e: /Users/myname/Desktop/my-app/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRootViewManager.kt: (21, 17): Unresolved reference: RNGestureHandlerRootViewManagerDelegate
w: Detected multiple Kotlin daemon sessions at build/kotlin/sessions

It works fine with new arch disabled, but failed when I enable it.

Steps to reproduce

  1. Enable new arch
  2. Clean the project
  3. Build the app (Android)

Snack or a link to a repository

Not needed

Gesture Handler version

2.5.0

React Native version

0.69.3

Platforms

Android

JavaScript runtime

Hermes

Workflow

React Native (without Expo)

Architecture

Fabric (New Architecture)

Build type

Debug mode

Device

No response

Device model

No response

Acknowledgements

Yes

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 27
  • Comments: 57 (7 by maintainers)

Most upvoted comments

Hey all šŸ‘‹šŸ¼ Apparently, that was related to my SDK & Tools versions. Iā€™ve upgraded from 32 to 33 and all was sorted.

// android/build.gradle
buildscript {
  ext {
    buildToolsVersion = 33
    compileSdkVersion = 33
    targetSdkVersion  '33.0.0'
  }
}

yarn add react-native-reanimated@next solved the building problem

Same problem with android and enabled new architecture kotlin_version: 1.6.10 react-native-gesture-handler: 2.8.0 react-native: 0.70.5

e: /Users/andreibehel/Projects/mobile/node_modules/react-native-gesture-handler/android/reanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt: (5, 22): Unresolved reference: reanimated e: /Users/andreibehel/Projects/mobile/node_modules/react-native-gesture-handler/android/reanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt: (8, 33): Unresolved reference: ReanimatedModule e: /Users/andreibehel/Projects/mobile/node_modules/react-native-gesture-handler/android/reanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt: (12, 50): Not enough information to infer type variable T e: /Users/andreibehel/Projects/mobile/node_modules/react-native-gesture-handler/android/reanimated/src/main/java/com/swmansion/gesturehandler/ReanimatedEventDispatcher.kt: (12, 66): Unresolved reference: ReanimatedModule e: /Users/andreibehel/Projects/mobile/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt: (18, 22): Unresolved reference: common e: /Users/andreibehel/Projects/mobile/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt: (41, 45): Unresolved reference: GestureHandlerStateManager e: /Users/andreibehel/Projects/mobile/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt: (432, 3): ā€˜setGestureHandlerStateā€™ overrides nothing

So I solved it by

  1. changing kotlinVersion = "1.4.10" to kotlinVersion = "1.5.20" in my android/build.gradle
  2. Also upgraded react native gesture to "react-native-gesture-handler": "^2.8.0",

After upgrade to new RN and turn on new arch, I got the same issue. I need to clean up my settings.gradle, build.gradle, app/build.gradle following current version setup from RN repository to build succesfully.

Iā€™m using:

react-native: "0.69.5" // (I try "0.69.4" and still works)
react-native-gesture-handler: "2.5.0"

and somehow i need to upgrade:

react-native-codegen: "^0.0.13"

I remove manual linking on settings.gradle since they already linked from build/generated/rncli/../PackageList.java

I also add kotlinVersion to build.gradle and remove classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" if any to avoid duplicate.

buildscript {
...
    ext {
        kotlinVersion = '1.6.10'
...
    }
}
...

For addition I found issue Android.mk:Build command failed and end up to fix other issue by setting org.gradle.parallel=false on gradle.properties.

+7 Iā€™m getting the same error with Gesture Handler version: 2.2.1

React Native version: 0.68.2

After trying different ways, you can finally fix it by updating to expo sdk 47 and expo dev-client 2.0.1 and update react-native-gesture-handler to 2.8.0 version.

also install expo-build-properties and add the following properties:

ā€œcompileSdkVersionā€: 33, ā€œtargetSdkVersionā€: 33, ā€œbuildToolsVersionā€: ā€œ30.0.2ā€, ā€œKotlinVersionā€: ā€œ1.7.10ā€

Good luck.

Hey all šŸ‘‹šŸ¼ Apparently, that was related to my SDK & Tools versions. Iā€™ve upgraded from 32 to 33 and all was sorted.

// android/build.gradle
buildscript {
  ext {
    buildToolsVersion = 33
    compileSdkVersion = 33
    targetSdkVersion  '33.0.0'
  }
}

It worked for me to

this solved my problem in android/build.gradle

 ext {
        kotlinVersion = "1.6.0"
        ...
}

 dependencies {
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0'
        ...
} 

with me it worked.

  • package.json
    "react": "18.2.0",
    "react-native": "0.71.1",
    "react-native-gesture-handler": "^2.9.0",
  • android/build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext {
        buildToolsVersion = "33.0.0"
        minSdkVersion = 21
        compileSdkVersion = 33
        targetSdkVersion = 33
        googlePlayServicesVersion = "17.0.0"

        // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
        ndkVersion = "23.1.7779620"

        kotlinVersion = "1.6.0"
    }
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath("com.android.tools.build:gradle:7.3.1")
        classpath("com.facebook.react:react-native-gradle-plugin")

        classpath 'com.google.gms:google-services:4.3.14'

        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0'
    }
}

I upgraded the kotlin version,fixed it怂 Chinese translation into English, I hope you can understand

Hi guys.

React native : 0.71.8

For me what worked was:

  1. android/app/build.gradle

apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions'

  1. android/build.gradle

ext { kotlinVersion = '1.6.20' compileSdkVersion = 33 }

dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlinVersion" }

  1. android/settings.gradle

include ':react-native-gesture-handler' project(':react-native-gesture-handler').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-gesture-handler/android')

this solved my problem in android/build.gradle

 ext {
        kotlinVersion = "1.6.0"
        ...
}

 dependencies {
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0'
        ...
} 

@j-piasecki this didnā€™t work

Can you try changing this line in Gesture Handlerā€™s build.gradle to

srcDirs += ['src/fabric/java', 'build/generated/source/codegen/java']

// android/build.gradle - updating the version change worked for me

buildscript { ext { buildToolsVersion = ā€œ33.0.0ā€ minSdkVersion = 21 compileSdkVersion = 33 targetSdkVersion = 33 kotlinVersion = ā€˜1.6.10ā€™ }
}

// android/build.gradle - updating the version change worked for me

buildscript {
    ext {
 buildToolsVersion = "33.0.0"
        minSdkVersion = 21
        compileSdkVersion = 33
        targetSdkVersion = 33
        kotlinVersion = '1.6.10'
 }       
}

+7 Iā€™m getting the same error with Gesture Handler version: 2.2.1 React Native version: 0.68.2

After trying different ways, you can finally fix it by updating to expo sdk 47 and expo dev-client 2.0.1 and update react-native-gesture-handler to 2.8.0 version.

also install expo-build-properties and add the following properties:

ā€œcompileSdkVersionā€: 33, ā€œtargetSdkVersionā€: 33, ā€œbuildToolsVersionā€: ā€œ30.0.2ā€, ā€œKotlinVersionā€: ā€œ1.7.10ā€

Good luck.

This worked for me. Thank you.

    buildToolsVersion = "31.0.0"
    minSdkVersion = 24
    compileSdkVersion = 33
    targetSdkVersion = 33
    kotlinVersion = "1.7.10"

Hi guys.

React native : 0.71.8

For me what worked was:

  1. android/app/build.gradle

apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions'

  1. android/build.gradle

ext { kotlinVersion = '1.6.20' compileSdkVersion = 33 }

dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlinVersion" }

  1. android/settings.gradle

include ':react-native-gesture-handler' project(':react-native-gesture-handler').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-gesture-handler/android')

@alejodelosrios 's solution worked for me!

I cannot say whether your app will work after removing react-native-reanimated but if youā€™re using the new architecture then you should be using the most recent release of Reanimated 3.

The problem is in react-native-gesture-handler library.

ā€œreact-nativeā€: ā€œ0.70.5ā€, ā€œreact-native-reanimatedā€: ā€œ^3.0.0-rc.4ā€, ā€œreact-native-gesture-handlerā€: ā€œ^2.8.0ā€,

image

@j-piasecki Ok Iā€™ve found that after adding reanimated 2.12 to the sample RN-0.70.5 project with gesture-handler 2.8.0, I got failing build. So should reanimated@next be used instead of stable 2.12?

+6 I changed my kotlin version to kotlin_version = ā€œ1.5.31ā€ in android/build.gradle this fix my issues

Yeah, the same issue. react-native v0.69.5 react-native-gesture-handler v2.7.1