react-native-vision-camera icon indicating copy to clipboard operation
react-native-vision-camera copied to clipboard

šŸ› Crash with android 15: FATAL EXCEPTION: create_react_context

Open namvu2101 opened this issue 7 months ago • 27 comments

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

namvu2101 avatar Jun 11 '25 08:06 namvu2101

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 @mrousavy to take a look.

maintenance-hans[bot] avatar Jun 11 '25 08:06 maintenance-hans[bot]

@mrousavy help

namvu2101 avatar Jun 11 '25 09:06 namvu2101

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)

Alex-McLean avatar Jun 13 '25 04:06 Alex-McLean

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)

shadowsheep1 avatar Jun 13 '25 08:06 shadowsheep1

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.

fkreinh avatar Jun 14 '25 15:06 fkreinh

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?

walterholohan avatar Jun 16 '25 12:06 walterholohan

Im hoping https://github.com/mrousavy/react-native-vision-camera/pull/3543 will fix the crashing

walterholohan avatar Jun 16 '25 12:06 walterholohan

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.

androaddict avatar Jun 24 '25 10:06 androaddict

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

damirjuretic avatar Jun 28 '25 18:06 damirjuretic

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"..

dc-rn-dev avatar Sep 15 '25 09:09 dc-rn-dev

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"

MariaFF avatar Sep 22 '25 14:09 MariaFF

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 avatar Sep 25 '25 11:09 dc-rn-dev

@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

michalis-ligopsychakis avatar Sep 29 '25 15:09 michalis-ligopsychakis

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?

patthipati avatar Oct 06 '25 19:10 patthipati

any updates?

davortrifunov avatar Oct 08 '25 08:10 davortrifunov

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)

DawnNguyenAhiho avatar Oct 08 '25 09:10 DawnNguyenAhiho

same issue

     "react-native": "0.77.0",
    "react-native-vision-camera": "^4.7.2",
    "react-native-worklets-core": "1.6.2",

shreyaChauhan300903 avatar Oct 09 '25 10:10 shreyaChauhan300903

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",

Polina1303 avatar Oct 14 '25 08:10 Polina1303

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"...

JoaoNeto99 avatar Oct 14 '25 13:10 JoaoNeto99

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.

JoaoNeto99 avatar Oct 14 '25 17:10 JoaoNeto99

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",

Jamal-Ud-Din-hub avatar Nov 07 '25 14:11 Jamal-Ud-Din-hub

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

Jamal-Ud-Din-hub avatar Nov 08 '25 11:11 Jamal-Ud-Din-hub

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

stami-fb avatar Nov 17 '25 10:11 stami-fb

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.zip

buildscript {
    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.zip classpath('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)

phazei avatar Nov 25 '25 00:11 phazei

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'
        }
    }
}

phazei avatar Nov 25 '25 02:11 phazei

has anyone find solution of this have tried them all but still getting error .

himanxu2 avatar Nov 28 '25 09:11 himanxu2