App crashes on release build after upgrading to RN 0.65 (couldn't find DSO to load: libhermes.so)
See original GitHub issueVersion
0.65.1
Build Target(s)
Android
Developer Environment
React Native version: 0.65.1
OS: macOS 12.0
CPU: (4) x64 Intel(R) Core(TM) i7-5557U CPU @ 3.10GHz
Memory: 111.00 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 12.10.0 - /usr/local/bin/node
Yarn: 1.17.3 - /usr/local/bin/yarn
npm: 6.7.0 - /usr/local/bin/npm
Watchman: 4.6.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.8.4 - /Users/.rvm/gems/ruby-2.4.0/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
Android SDK:
API Levels: 23, 24, 25, 26, 27, 28, 29, 30
Build Tools: 23.0.1, 23.0.3, 25.0.0, 25.0.2, 25.0.3, 26.0.0, 26.0.0, 26.0.1, 26.0.2, 26.0.3, 27.0.2, 27.0.3, 28.0.0, 28.0.1, 28.0.2, 28.0.3, 29.0.3, 30.0.2
System Images: android-23 | Intel x86 Atom, android-23 | Intel x86 Atom_64, android-27 | Android TV Intel x86 Atom, android-27 | Google APIs Intel x86 Atom, android-27 | Google Play Intel x86 Atom, android-28 | Android TV Intel x86 Atom, android-28 | Wear OS Intel x86 Atom, android-28 | Intel x86 Atom, android-28 | Intel x86 Atom_64, android-28 | Google APIs Intel x86 Atom, android-28 | Google APIs Intel x86 Atom_64, android-28 | Google Play Intel x86 Atom, android-28 | Google Play Intel x86 Atom_64
Android NDK: 22.1.7171670
IDEs:
Android Studio: 2.3 AI-162.4069837
Xcode: 12.5.1/12E507 - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_222 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 17.0.2 => 17.0.2
react-native: 0.65.1 => 0.65.1
react-native-macos: Not Found
npmGlobalPackages:
*react-native*: Not Found
Important Files
- android/app/build.gradle
- app/build.gradle
- gradle-wrapper.properties
- package.json
- node_modules/react-native/react.gradle
Issue and Reproduction Steps
SoLoader: Error when loading lib: dlopen failed: library "libjsi.so" not found lib hash: f9dcc172ccde264684669e2e4226b8c5 search path is /data/app/com.app-1/lib/arm64
SoLoader: couldn't find DSO to load: libhermes.so caused by: dlopen failed: library "libjsi.so" not found result: 0
FATAL EXCEPTION: create_react_context
java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libhermes.so caused by: dlopen failed: library "libjsi.so" not found result: 0
at com.facebook.soloader.SoLoader.doLoadLibraryBySoName()
at com.facebook.soloader.SoLoader.loadLibraryBySoNameImpl()
at com.facebook.soloader.SoLoader.loadLibraryBySoName()
at com.facebook.soloader.SoLoader.loadLibrary()
at com.facebook.soloader.SoLoader.loadLibrary()
at com.facebook.hermes.reactexecutor.HermesExecutor.<clinit>()
at com.facebook.hermes.reactexecutor.HermesExecutorFactory.create()
at com.facebook.react.ReactInstanceManager$5.run()
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: library "libjsi.so" not found
at com.facebook.soloader.SoLoader$1.load()
at com.facebook.soloader.DirectorySoSource.b()
at com.facebook.soloader.DirectorySoSource.loadLibrary()
at com.facebook.soloader.ApplicationSoSource.loadLibrary()
Works well in debug mode.
Issue Analytics
- State:
- Created 2 years ago
- Comments:6
Top Results From Across the Web
couldn't find DSO to load: libhermes-executor-debug.so after ...
After upgrading React Native project from 0.65.0 to 0.70.4 I end up in a problem with crashing app on start. The error appears...
Read more >Using Hermes - React Native
Hermes is an open-source JavaScript engine optimized for React Native. For many apps, using Hermes will result in improved start-up time, ...
Read more >Fixing React-Native android release build - wesionaryTEAM
After running the logcat tool to log system logs, I had two issues that were causing the application to crash. 1. couldn't find...
Read more >Troubleshooting build errors and crashes - Expo Documentation
This document is under active development; the topic it covers is expansive and finding the right way to explain how to troubleshoot issues...
Read more >Getting “java.lang.UnsatisfiedLinkError: couldn't find DSO to ...
Android – Getting “java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libhermes.so” error ... I let Hermes disabled in my app build.gradle file:
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Resolved the issue finally. Hermes 0.9.0 doesn’t work with RN 0.65.1, it works well with 0.8.1. Strict Compatibility.
I normally don’t like writing off old releases quickly, but in this case the react-native 0.66 version is (for me) a huge win when it comes to “won’t everything just build now, please…” 😃. Glad you got it working