skip to Main Content

My react native app was running correctly, but suddenly I started getting error:

error 1: Execution failed for task ':react-native-webview:compileDebugKotlin'.

so for this in android/build.gradle I added kotlinVersion = "1.5.31" and also dependencies added classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31".

After this I got the following error:

* What went wrong:
Execution failed for task ':app:mergeDebugNativeLibs'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > More than one file was found with OS independent path 'lib/arm64-v8a/libfbjni.so'. If you are using jniLibs and CMake IMPORTED targets, see https://developer.android.com/studio/preview/features#automatic_packaging_of_prebuilt_dependencies_used_by_cmake

for this, inside android/app/build.gradle under android{…} I added:

packagingOptions {
    pickFirst 'lib/x86/libc++_shared.so'
    pickFirst 'lib/x86_64/libjsc.so'
    pickFirst 'lib/arm64-v8a/libjsc.so'
    pickFirst 'lib/arm64-v8a/libc++_shared.so'
    pickFirst 'lib/x86_64/libc++_shared.so'
    pickFirst 'lib/armeabi-v7a/libc++_shared.so'
    pickFirst 'lib/armeabi-v7a/libfbjni.so'
}

but even after this I am getting the same error again: More than one file was found with OS independent path 'lib/arm64-v8a/libfbjni.so'

7

Answers


  1. Based on @BK52 ‘s mentioned github thread, I added this snippet into app/build.gradle

    android {
        defaultConfig {
        // existing code
                packagingOptions {
                pickFirst '**/libc++_shared.so'
                pickFirst '**/libfbjni.so'
            }
        }
    }
    

    It worked for me and the error seems to disappear. I am using RN 0.68.2.

    Login or Signup to reply.
  2. You can add given code in app/build.gradle. I resolved my error by adding the following code.

    android {
        defaultConfig {
        
        }
        
        packagingOptions {
            pickFirst '**/libjsc.so'
            pickFirst '**/libc++_shared.so'
            pickFirst '**/libfbjni.so'
            pickFirst '**/llibturbomodulejsijni.so'
            pickFirst '**/libturbomodulejsijni.so'
            // Add more according to your error here
        }
    }
    

    after adding pickFirst '**/libfbjni.so' i got two more errors so i have added pickFirst '**/llibturbomodulejsijni.so' and pickFirst '**/libturbomodulejsijni.so' to resolve my error.

    If your app crashes on open then in android/build.gradle add this

    def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim())
    
    allprojects {
    
        configurations.all {
            resolutionStrategy {
                force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION
            }
        }
    }
    
    Login or Signup to reply.
  3. Add following lines inside the android>build.gradle file –

    allprojects {
    repositories {
        ...
        exclusiveContent {
           // We get React Native's Android binaries exclusively through npm,
           // from a local Maven repo inside node_modules/react-native/.
           // (The use of exclusiveContent prevents looking elsewhere like Maven Central
           // and potentially getting a wrong version.)
           filter {
               includeGroup "com.facebook.react"
           }
           forRepository {
               maven {
                   url "$rootDir/../node_modules/react-native/android"
               }
           }
       }
    }
    

    This issue occurred from November 4th 2022. See the reference: https://github.com/facebook/react-native/issues/35210

    Login or Signup to reply.
  4. if your react native version is lower then 0.63 or 0.64.X try these steps

    in android/app/build.gradle add these lines

    android {
    
    packagingOptions {
        pickFirst 'lib/x86/libc++_shared.so'
        pickFirst 'lib/x86_64/libc++_shared.so'
        pickFirst 'lib/armeabi-v7a/libc++_shared.so'
        pickFirst 'lib/arm64-v8a/libc++_shared.so'
        pickFirst 'lib/x86/libfbjni.so'
        pickFirst 'lib/x86_64/libfbjni.so'
        pickFirst 'lib/armeabi-v7a/libfbjni.so'
        pickFirst 'lib/arm64-v8a/libfbjni.so'       
    }
    //other code
    
    }
    

    and in android/build.gradle add these lines by changing your current native version inside the resolutionStrategy

    allprojects {
    
    configurations.all {
        resolutionStrategy {
            // Remove this override in 0.65+, as a proper fix is included in react-native itself.
            force "com.facebook.react:react-native:0.64.2"  //<-- please change here 
            // please change the version here to your current react native version
        }
    }
    //other code
    }
    

    then cd android ./gradlew clean and run npx react-native run-android

    Login or Signup to reply.
  5. Try to add this code to your app build.gradle under allprojects -> repositories:

     exclusiveContent {
                filter {
                    includeGroup "com.facebook.react"
                }
                forRepository {
                    maven {
                        url "$rootDir/../node_modules/react-native/android"
                    }
                }
            }

    sync your code with gradle and run again.

    Login or Signup to reply.
  6. My application was in version 0.68.2 and I updated to new version 0.68.5 and it worked.
    This issue is happening after 04/November/2022
    found versions in this post GitHub

    Login or Signup to reply.
  7. Add this in the allprojects area of your android/buld.gradle file.

    def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim())
    
    allprojects {
        configurations.all {
            resolutionStrategy {
                // Remove this override in 0.65+, as a proper fix is included in react-native itself.
                force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION
            }
        }
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search