š Crash with android 15: FATAL EXCEPTION: create_react_context
What's happening?
crash app when open app only android 15
Reproduceable Code
ext {
buildToolsVersion = "34.0.0"
minSdkVersion = 24
compileSdkVersion = 34
targetSdkVersion = 34
ndkVersion = "27.1.12297006"
kotlinVersion = "1.9.10"
}
const device = useCameraDevice('back');
<Camera
style={{flex: 1}}
device={device}
isActive={true}
codeScanner={codeScanner}
/>
Relevant log output
06-11 15:18:26.792 6559 6632 E VisionCameraProxy: Failed to load VisionCamera C++ library!
06-11 15:18:26.792 6559 6632 E VisionCameraProxy: java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/app/~~AJEJBATT-TCQ-opIn493AQ==/my.app-Gc0DFUG5yTpYGviTnqHIYQ==/base.apk!/lib/arm64-v8a/libVisionCamera.so" (new hash type from the future?)
06-11 15:18:26.792 6559 6632 E VisionCameraProxy: at java.lang.Runtime.loadLibrary0(Runtime.java:1081)
06-11 15:18:26.792 6559 6632 E VisionCameraProxy: at java.lang.Runtime.loadLibrary0(Runtime.java:1003)
06-11 15:18:26.792 6559 6632 E VisionCameraProxy: at java.lang.System.loadLibrary(System.java:1765)
06-11 15:18:26.792 6559 6632 E VisionCameraProxy: at com.mrousavy.camera.react.CameraViewModule.<clinit>(CameraViewModule.kt:48)
06-11 15:18:26.792 6559 6632 E VisionCameraProxy: at com.mrousavy.camera.react.CameraPackage.createNativeModules(CameraPackage.kt:11)
06-11 15:18:26.792 6559 6632 E VisionCameraProxy: at com.facebook.react.ReactPackageHelper.getNativeModuleIterator(ReactPackageHelper.kt:32)
06-11 15:18:26.792 6559 6632 E VisionCameraProxy: at com.facebook.react.NativeModuleRegistryBuilder.processPackage(NativeModuleRegistryBuilder.kt:39)
06-11 15:18:26.792 6559 6632 E VisionCameraProxy: at com.facebook.react.ReactInstanceManager.processPackage(ReactInstanceManager.java:1567)
06-11 15:18:26.792 6559 6632 E VisionCameraProxy: at com.facebook.react.ReactInstanceManager.processPackages(ReactInstanceManager.java:1538)
06-11 15:18:26.792 6559 6632 E VisionCameraProxy: at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:1448)
06-11 15:18:26.792 6559 6632 E VisionCameraProxy: at com.facebook.react.ReactInstanceManager.lambda$runCreateReactContextOnNewThread$2(ReactInstanceManager.java:1216)
06-11 15:18:26.792 6559 6632 E VisionCameraProxy: at com.facebook.react.ReactInstanceManager.$r8$lambda$PrBhihCbbAFk4ZReAALGanVLCyc(Unknown Source:0)
06-11 15:18:26.792 6559 6632 E VisionCameraProxy: at com.facebook.react.ReactInstanceManager$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
06-11 15:18:26.792 6559 6632 E VisionCameraProxy: at java.lang.Thread.run(Thread.java:1012)
06-11 15:18:26.793 6559 6632 E AndroidRuntime: FATAL EXCEPTION: create_react_context
06-11 15:18:26.793 6559 6632 E AndroidRuntime: Process: my.app, PID: 6559
06-11 15:18:26.793 6559 6632 E AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/app/~~AJEJBATT-TCQ-opIn493AQ==/my.app-Gc0DFUG5yTpYGviTnqHIYQ==/base.apk!/lib/arm64-v8a/libVisionCamera.so" (new hash type from the future?)
06-11 15:18:26.793 6559 6632 E AndroidRuntime: at java.lang.Runtime.loadLibrary0(Runtime.java:1081)
06-11 15:18:26.793 6559 6632 E AndroidRuntime: at java.lang.Runtime.loadLibrary0(Runtime.java:1003)
06-11 15:18:26.793 6559 6632 E AndroidRuntime: at java.lang.System.loadLibrary(System.java:1765)
06-11 15:18:26.793 6559 6632 E AndroidRuntime: at com.mrousavy.camera.react.CameraViewModule.<clinit>(CameraViewModule.kt:48)
06-11 15:18:26.793 6559 6632 E AndroidRuntime: at com.mrousavy.camera.react.CameraPackage.createNativeModules(CameraPackage.kt:11)
06-11 15:18:26.793 6559 6632 E AndroidRuntime: at com.facebook.react.ReactPackageHelper.getNativeModuleIterator(ReactPackageHelper.kt:32)
06-11 15:18:26.793 6559 6632 E AndroidRuntime: at com.facebook.react.NativeModuleRegistryBuilder.processPackage(NativeModuleRegistryBuilder.kt:39)
06-11 15:18:26.793 6559 6632 E AndroidRuntime: at com.facebook.react.ReactInstanceManager.processPackage(ReactInstanceManager.java:1567)
06-11 15:18:26.793 6559 6632 E AndroidRuntime: at com.facebook.react.ReactInstanceManager.processPackages(ReactInstanceManager.java:1538)
06-11 15:18:26.793 6559 6632 E AndroidRuntime: at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:1448)
06-11 15:18:26.793 6559 6632 E AndroidRuntime: at com.facebook.react.ReactInstanceManager.lambda$runCreateReactContextOnNewThread$2(ReactInstanceManager.java:1216)
06-11 15:18:26.793 6559 6632 E AndroidRuntime: at com.facebook.react.ReactInstanceManager.$r8$lambda$PrBhihCbbAFk4ZReAALGanVLCyc(Unknown Source:0)
06-11 15:18:26.793 6559 6632 E AndroidRuntime: at com.facebook.react.ReactInstanceManager$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
06-11 15:18:26.793 6559 6632 E AndroidRuntime: at java.lang.Thread.run(Thread.java:1012)
Camera Device
{}
Device
android 15
VisionCamera Version
v4
Can you reproduce this issue in the VisionCamera Example app?
I didn't try (ā ļø your issue might get ignored & closed if you don't try this)
Additional information
- [ ] I am using Expo
- [x] I have enabled Frame Processors (react-native-worklets-core)
- [x] I have read the Troubleshooting Guide
- [x] I agree to follow this project's Code of Conduct
- [x] I searched for similar issues in this repository and found none.
Guten Tag, Hans here! š»
I see you have run into a crash with Android 15 while loading the VisionCamera C++ library. However, I noticed that you did not provide logs from adb logcat, which are essential for mrousavy to troubleshoot this issue effectively. Please gather the logs by running adb logcat in your terminal while reproducing the issue and attach them here.
Also, have you tried to reproduce this issue in the VisionCamera Example app? If not, please give it a shot, as it can help isolate the problem.
Danke!
Note: If you think I made a mistake, please ping
@mrousavyto take a look.
@mrousavy help
Am currently also experiencing this while trying to submit to the Play Store. Was picked up in their automated review process.
Seems to be related specifically to Android 15 and/or 16K page size devices.
Error Issue 1 of 1 Detected on 1 device during testing
Google Medium Phone (16K page size), 6.4in/16cm (Arm) (virtual)
Exception java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/app/~~<APPDETAILS>==/<app.name>-<APPDETAILS>==/split_config.arm64_v8a.apk!/lib/arm64-v8a/libVisionCamera.so" (new hash type from the future?)
at java.lang.Runtime.loadLibrary0 (Runtime.java:1081)
at java.lang.Runtime.loadLibrary0 (Runtime.java:1003)
at java.lang.System.loadLibrary (System.java:1765)
at com.mrousavy.camera.react.CameraViewModule.<clinit> (CameraViewModule.kt:48)
at com.mrousavy.camera.react.CameraPackage.createNativeModules (CameraPackage.kt:11)
at com.facebook.react.ReactPackageTurboModuleManagerDelegate.initialize (ReactPackageTurboModuleManagerDelegate.java:98)
at com.facebook.react.ReactPackageTurboModuleManagerDelegate.<init> (ReactPackageTurboModuleManagerDelegate.java:57)
at com.facebook.react.defaults.DefaultTurboModuleManagerDelegate.<init> (DefaultTurboModuleManagerDelegate.kt:35)
at com.facebook.react.defaults.DefaultTurboModuleManagerDelegate.<init> (Unknown Source)
at com.facebook.react.defaults.DefaultTurboModuleManagerDelegate$Builder.build (DefaultTurboModuleManagerDelegate.kt:62)
at com.facebook.react.defaults.DefaultTurboModuleManagerDelegate$Builder.build (DefaultTurboModuleManagerDelegate.kt:42)
at com.facebook.react.ReactPackageTurboModuleManagerDelegate$Builder.build (ReactPackageTurboModuleManagerDelegate.java:266)
at com.facebook.react.runtime.ReactInstance.<init> (ReactInstance.java:185)
at com.facebook.react.runtime.ReactHostImpl.lambda$getOrCreateReactInstanceTask$22 (ReactHostImpl.java:1189)
at com.facebook.react.runtime.ReactHostImpl.$r8$lambda$sX0vNfk_MttxfVwE2w9ALnXHrPI (Unknown Source)
at com.facebook.react.runtime.ReactHostImpl$$ExternalSyntheticLambda41.then (D8$$SyntheticClass)
at com.facebook.react.runtime.internal.bolts.Task$7.run (Task.java:423)
at com.facebook.react.runtime.internal.bolts.Executors$ImmediateExecutor.execute (Executors.kt:41)
at com.facebook.react.runtime.internal.bolts.Task.completeImmediately (Task.java:418)
at com.facebook.react.runtime.internal.bolts.Task.continueWith (Task.java:288)
at com.facebook.react.runtime.internal.bolts.Task.continueWith (Task.java:299)
at com.facebook.react.runtime.internal.bolts.Task$5.then (Task.java:354)
at com.facebook.react.runtime.internal.bolts.Task$5.then (Task.java:346)
at com.facebook.react.runtime.internal.bolts.Task$8.run (Task.java:460)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:644)
at java.lang.Thread.run (Thread.java:1012)
Am currently also experiencing this while trying to submit to the Play Store. Was picked up in their automated review process.
Seems to be related specifically to Android 15 and/or 16K page size devices.
Error Issue 1 of 1 Detected on 1 device during testing Google Medium Phone (16K page size), 6.4in/16cm (Arm) (virtual)Exception java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/app/~~<APPDETAILS>==/<app.name>-<APPDETAILS>==/split_config.arm64_v8a.apk!/lib/arm64-v8a/libVisionCamera.so" (new hash type from the future?) at java.lang.Runtime.loadLibrary0 (Runtime.java:1081) at java.lang.Runtime.loadLibrary0 (Runtime.java:1003) at java.lang.System.loadLibrary (System.java:1765) at com.mrousavy.camera.react.CameraViewModule.<clinit> (CameraViewModule.kt:48) at com.mrousavy.camera.react.CameraPackage.createNativeModules (CameraPackage.kt:11) at com.facebook.react.ReactPackageTurboModuleManagerDelegate.initialize (ReactPackageTurboModuleManagerDelegate.java:98) at com.facebook.react.ReactPackageTurboModuleManagerDelegate.<init> (ReactPackageTurboModuleManagerDelegate.java:57) at com.facebook.react.defaults.DefaultTurboModuleManagerDelegate.<init> (DefaultTurboModuleManagerDelegate.kt:35) at com.facebook.react.defaults.DefaultTurboModuleManagerDelegate.<init> (Unknown Source) at com.facebook.react.defaults.DefaultTurboModuleManagerDelegate$Builder.build (DefaultTurboModuleManagerDelegate.kt:62) at com.facebook.react.defaults.DefaultTurboModuleManagerDelegate$Builder.build (DefaultTurboModuleManagerDelegate.kt:42) at com.facebook.react.ReactPackageTurboModuleManagerDelegate$Builder.build (ReactPackageTurboModuleManagerDelegate.java:266) at com.facebook.react.runtime.ReactInstance.<init> (ReactInstance.java:185) at com.facebook.react.runtime.ReactHostImpl.lambda$getOrCreateReactInstanceTask$22 (ReactHostImpl.java:1189) at com.facebook.react.runtime.ReactHostImpl.$r8$lambda$sX0vNfk_MttxfVwE2w9ALnXHrPI (Unknown Source) at com.facebook.react.runtime.ReactHostImpl$$ExternalSyntheticLambda41.then (D8$$SyntheticClass) at com.facebook.react.runtime.internal.bolts.Task$7.run (Task.java:423) at com.facebook.react.runtime.internal.bolts.Executors$ImmediateExecutor.execute (Executors.kt:41) at com.facebook.react.runtime.internal.bolts.Task.completeImmediately (Task.java:418) at com.facebook.react.runtime.internal.bolts.Task.continueWith (Task.java:288) at com.facebook.react.runtime.internal.bolts.Task.continueWith (Task.java:299) at com.facebook.react.runtime.internal.bolts.Task$5.then (Task.java:354) at com.facebook.react.runtime.internal.bolts.Task$5.then (Task.java:346) at com.facebook.react.runtime.internal.bolts.Task$8.run (Task.java:460) at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:644) at java.lang.Thread.run (Thread.java:1012)
Let's see if this helps (https://github.com/mrousavy/react-native-vision-camera/compare/main...feat/16kb-page-size)
We're also experiencing this issue with react-native-vision-camera 4.6.4.
Google Play Console is flagging: base/lib/arm64-v8a/libVisionCamera.so base/lib/x86_64/libVisionCamera.so
This might be preventing our app from installing on Android devices with 16KB page size.
Same here, we updated our app to RN 0.77 which enables Android 16KB but now the app crashes in Play Store review. As anyone found a workaround for this yet?
Im hoping https://github.com/mrousavy/react-native-vision-camera/pull/3543 will fix the crashing
Im hoping #3543 will fix the crashing
Even I upgraded to latest version of vision camera lib, while releasing the app in play store I face same kind of issue throw by google. below is error I faced, dlopen failed empty/missing string DT_STR TAB. only the different between you targeted to 34 and I targeted to 35.
Releasing the app in the Play Store throws an issue by Google.
Exception java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_STRTAB in "/data/app/~~HfdEzwuB9IXXVa0Fvds_Kw==/~~<APPDETAILS>==/<app.name>-<APPDETAILS>==/split_config.arm64_v8a.apk!/lib/arm64-v8a/librnworklets.so"
at java.lang.Runtime.loadLibrary0 (Runtime.java:1081)
at java.lang.Runtime.loadLibrary0 (Runtime.java:1003)
at java.lang.System.loadLibrary (System.java:1765)
at com.mrousavy.camera.react.CameraViewModule.<clinit> (CameraViewModule.kt:48)
at com.mrousavy.camera.react.CameraPackage.createNativeModules (CameraPackage.kt:11)
at com.facebook.react.ReactPackageHelper.getNativeModuleIterator (ReactPackageHelper.kt:32)
at com.facebook.react.NativeModuleRegistryBuilder.processPackage (NativeModuleRegistryBuilder.kt:39)
at com.facebook.react.ReactInstanceManager.processPackage (ReactInstanceManager.java:1587)
at com.facebook.react.ReactInstanceManager.processPackages (ReactInstanceManager.java:1558)
at com.facebook.react.ReactInstanceManager.createReactContext (ReactInstanceManager.java:1468)
at com.facebook.react.ReactInstanceManager.lambda$runCreateReactContextOnNewThread$2 (ReactInstanceManager.java:1236)
at com.facebook.react.ReactInstanceManager.$r8$lambda$PrBhihCbbAFk4ZReAALGanVLCyc (Unknown Source)
at com.facebook.react.ReactInstanceManager$$ExternalSyntheticLambda1.run (D8$$SyntheticClass)
at java.lang.Thread.run (Thread.java:1012)
"react-native-vision-camera": "4.7.0" "react-native-worklets-core": "1.5.0" "react-native": "0.78.2"
Google was testing the app with this emulator: Medium Phone (16K page size), Android 15 (SDK 35), ABI arm64-v8a
Edit: I was able to get it working locally by adding the same one-line fix in build.gradle of react-native-worklets-core that was recently added in react-native-vision-camera: https://github.com/mrousavy/react-native-vision-camera/compare/main...feat/16kb-page-size
Issue still occurring with the latest versions
Here are my details: Environment react-native-vision-camera: 4.7.2 (also tried 4.7.0, 4.7.1) React Native: 0.80.2 Android Target SDK: 36 (Android 15) NDK Version: 28.2.13676358 (also tried "27.1.12297006") Device: Android 15 (API 35)
FATAL EXCEPTION: create_react_context Process: com.myapp, PID: 27822 java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__cxa_init_primary_exception" referenced by "/data/app/~~0LULl0m1Q6umQ46N0KA==/com.myapp-3wE_etpf5ZFSK3X5mg==/base.apk!/lib/arm64-v8a/libVisionCamera.so"..
This worked for me: "react-native": "0.79.3", "react-native-worklets-core": "^1.3.3", <-- ADD "react-native-vision-camera": "4.7.1",
android/build.gradle ndkVersion = "27.1.12297006"
This worked for me: "react-native": "0.79.3", "react-native-worklets-core": "^1.3.3", <-- ADD "react-native-vision-camera": "4.7.1",
android/build.gradle ndkVersion = "27.1.12297006"
Thanks it works even on React Native: 0.80.2 But it would still be good if it worked on the latest versions react-native-vision-camera: 4.7.2 NDK Version: 28.2.13676358 and without react-native-worklets-core
@dc-rn-dev @MariaFF so it's not working wi NDK version 28 ? but it's necessary for the android's 16KB page size support
Iām facing the same issue
Iām getting the exact same crash when using VisionCamera on Android:
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__cxa_init_primary_exception"
referenced by "libVisionCamera.so"
Has anyone resolved this?
any updates?
I'm facing the same issue, tried many ways but nothing fix, it still crash. react-native-vision-camera: 4.7.2 React Native: 0.77.3 Android Target SDK: 36 (Android 15) NDK Version: 28.2.13676358 Device: Android 15 (API 35)
same issue
"react-native": "0.77.0",
"react-native-vision-camera": "^4.7.2",
"react-native-worklets-core": "1.6.2",
same issue crash with NDK Version 28
"react-native": "0.77.2", "react-native-vision-camera": "4.7.2", "react-native-worklets-core": "1.6.2",
Same issue crash with NDK Version : 28.0.12433566, 27.1.12297006 and 29.0.13846066.
"react-native": "0.77.2", "react-native-vision-camera": "^4.7.0",
Error: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__cxa_init_primary_exception" referenced by "/data/app/~~7emHGWugipEGowsR9woCAw==/com.softprime.i9PrimePonto-NSLg2tyH-0fFB2DS3voV-A==/base.apk!/lib/arm64-v8a/libVisionCamera.so"...
NDK Version : 27.1.12297006. "react-native": "0.77.2", "react-native-vision-camera": "^4.7.0"
app/build.gradle
externalNativeBuild {
// For ndk-build, instead use the ndkBuild block.
cmake {
// Passes optional arguments to CMake.
arguments "-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON"
}
}
worked for me. But I didn`t test with an emulator of android 15 yet.
Same issue crash on app start
Failed to load VisionCamera C++ library!
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__cxa_init_primary_exception" referenced
by "/data/app/~~W88XwHvYQCubwKkoDQAhWA==/com.slider.driverApp-uAN4-UgZtSatqN3-mFKTrA==/base.apk!/lib/arm64-v8a/libVisionCamera.so"...
buildToolsVersion = "35.0.0"
minSdkVersion = 24
compileSdkVersion = 35
targetSdkVersion = 35
ndkVersion = "28.0.12433566"
kotlinVersion = "2.1.20"
newArchEnabled=false
android.enableJetifier=true
hermesEnabled=true
"react-native": "0.80.2",
"react-native-vision-camera": "^4.7.2",
ndkVersion = "27.1.12297006" this worked for me
"react-native": "0.80.2",
"react-native-vision-camera": "^4.7.2",
"react-native-worklets-core": "^1.6.2",
Its working fine with NDK 27 my issue was using NDK 28
Support for NDK 28 would be nice as it would handle ELF alignment š https://developer.android.com/guide/practices/page-sizes#compile-16-kb-alignment
So, we recently had upgraded to React-Native 0.77 and I had got it working working. But then we upgraded to RN 0.79, and now it doesn't work anymore.
Info from WORKING RN0.77:
I needed to include this patch (which is now in 4.7.3).
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zipbuildscript { ext { buildToolsVersion = "35.0.0" minSdkVersion = 29 compileSdkVersion = 35 targetSdkVersion = 35 supportLibVersion = "28.0.0" ndkVersion = "28.2.13676358" kotlinVersion = "2.0.21" } repositories { google() mavenCentral() } dependencies { classpath('com.android.tools.build:gradle:8.8.2') } }"react-native-vision-camera": "4.7.2", "react-native-reanimated": "3.18.0", "react-native": "0.77.3",
Now that it's not working in RN0.79 the only changes are:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zipclasspath('com.android.tools.build:gradle:8.13.1')"react-native-vision-camera": "4.7.2", "react-native": "0.79.7",
All the items I didn't repeat are still the same.
And I get the error in LogCat:
Failed to load VisionCamera C++ library! (Ask Gemini) java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__cxa_init_primary_exception" referenced by "/data/app/~~cCLLDpW4BnUVV7ssLqrXmA==/com.jhg.blue-RYA9XPhoBaWewzI8_LdLdg==/base.apk!/lib/arm64-v8a/libVisionCamera.so"... at java.lang.Runtime.loadLibrary0(Runtime.java:1097) at java.lang.Runtime.loadLibrary0(Runtime.java:1019) at java.lang.System.loadLibrary(System.java:1765) at com.mrousavy.camera.react.CameraViewModule.<clinit>(CameraViewModule.kt:48) at com.mrousavy.camera.react.CameraPackage.createNativeModules(CameraPackage.kt:11) at com.facebook.react.ReactPackageHelper.getNativeModuleIterator(ReactPackageHelper.kt:32) at com.facebook.react.NativeModuleRegistryBuilder.processPackage(NativeModuleRegistryBuilder.kt:39) at com.facebook.react.ReactInstanceManager.processPackage(ReactInstanceManager.java:1567) at com.facebook.react.ReactInstanceManager.processPackages(ReactInstanceManager.java:1538) at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:1448) at com.facebook.react.ReactInstanceManager.lambda$runCreateReactContextOnNewThread$2(ReactInstanceManager.java:1216) at com.facebook.react.ReactInstanceManager.$r8$lambda$PrBhihCbbAFk4ZReAALGanVLCyc(Unknown Source:0) at com.facebook.react.ReactInstanceManager$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0) at java.lang.Thread.run(Thread.java:1563) FATAL EXCEPTION: create_react_context (Ask Gemini) Process: com.jhg.blue, PID: 13585 java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__cxa_init_primary_exception" referenced by "/data/app/~~cCLLDpW4BnUVV7ssLqrXmA==/com.jhg.blue-RYA9XPhoBaWewzI8_LdLdg==/base.apk!/lib/arm64-v8a/libVisionCamera.so"... at java.lang.Runtime.loadLibrary0(Runtime.java:1097) at java.lang.Runtime.loadLibrary0(Runtime.java:1019) at java.lang.System.loadLibrary(System.java:1765) at com.mrousavy.camera.react.CameraViewModule.<clinit>(CameraViewModule.kt:48) at com.mrousavy.camera.react.CameraPackage.createNativeModules(CameraPackage.kt:11) at com.facebook.react.ReactPackageHelper.getNativeModuleIterator(ReactPackageHelper.kt:32) at com.facebook.react.NativeModuleRegistryBuilder.processPackage(NativeModuleRegistryBuilder.kt:39) at com.facebook.react.ReactInstanceManager.processPackage(ReactInstanceManager.java:1567) at com.facebook.react.ReactInstanceManager.processPackages(ReactInstanceManager.java:1538) at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:1448) at com.facebook.react.ReactInstanceManager.lambda$runCreateReactContextOnNewThread$2(ReactInstanceManager.java:1216) at com.facebook.react.ReactInstanceManager.$r8$lambda$PrBhihCbbAFk4ZReAALGanVLCyc(Unknown Source:0) at com.facebook.react.ReactInstanceManager$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0) at java.lang.Thread.run(Thread.java:1563)
So, it seems __cxa_init_primary_exception is a call from a more recent build of libc++_shared.so
When building with NDK 28, it builds and uses that call. But then due to how things are with the other packages, there seems to be a libc++_shared.so that's ultimately included in the apk that might have been built with NDK 27, which doesn't have that call. There's no good reason for that that I know of.
I found a solution, I don't really like it, but it works. Mind you, I'm on MacOS. After you build the project, from your RN project folder:
mkdir -p android/app/src/main/jniLibs/arm64-v8a
# Adjust this path to your actual NDK path & host OS
cp $ANDROID_HOME/ndk/28.2.13676358/toolchains/llvm/prebuilt/*/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so \
android/app/src/main/jniLibs/arm64-v8a/
I did that, and then it worked.
Oh, I also did this, but I don't know if it's essential:
android/app/build.gradle:
android {
packaging {
jniLibs {
pickFirst '**/libc++_shared.so'
}
}
}
has anyone find solution of this have tried them all but still getting error .