React-Native :Java.Lang.Unsatisfiedlinkerror: Couldn't Find Dso to Load: Libhermes.So

java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libfbjni.so result: 0

For me the following two solved it (I think it was the latter that did it):

  1. Reset cache: react-native start --reset-cache
  2. Clean Android: cd android -> ./gradlew clean

Android ReactNative java.lang.UnsatisfiedLinkError:could find DSO to load: libreactnativejni.so

This is caused by the following issue (open for 2 years) https://github.com/facebook/react-native/issues/2814

From the issue:

React Native on Android doesn't provide a 64-bit version of the libreactnativejni.so native library, which can cause compatibility issues on 64-bit devices. I ran into this while attempting to integrate React Native with a large existing application I'm developing.

Reaction from Facebook:

"Thanks for reporting! Yes we don't provide 64-bit version of the native code and the system should always fall back to 32-bit."

And:

"Most Android projects use a number of 3rd-party libraries, and any that include native 64-bit code will cause React Native to fail."

The following SO answer Use 32-bit jni libraries on 64-bit android explains fallback to 32-bit libraries and the fact you cannot mix. So if 64-bit is found, all should be 64-bit

I suggest reading along the Github issue #2814. There are multiple fixes proposed, but it depends on your situation what works.

The issuer has also written a blog about it: Mixing 32- and 64-bit Dependencies in Android

Hope this helps!



Related Topics



Leave a reply



Submit