react-native-vision-camera: App crashes in release mode🐛

What were you trying to do?

I’m trying to assemble the release apk.

Reproduceable Code

Just cd android/ and then ./gradlew assembleRelease.

This are the dependencies:

node: v16.13.0
react-native: 6.4.0
os: Ubuntu 21.10
react-native-vision-camera: ^2.13.1
vision-camera-dynamsoft-barcode-reader: ^0.3.1

babel config:
module.exports = {
  presets: ['module:metro-react-native-babel-preset'],
  plugins: [
    ["module:react-native-dotenv", {
      "moduleName": "@env",
      "path": ".env",
      "blacklist": null,
      "whitelist": null,
      "safe": false,
      "allowUndefined": true
    }],
    [
      'react-native-reanimated/plugin',
      {
        globals: ['__decode'],
      },
    ]
  ],
  env: {
    production: {
      plugins: ['react-native-paper/babel','react-native-reanimated/plugin'],
    },
  },
};

What happened instead?

When it’s built, and when trying to use the camera, the apk crashes every time. This works perfectly on debug mode.

Relevant log output

This is what I get from adb logcat *:S ReactNative:V ReactNativeJS:V.

03-31 09:50:25.553 18158 18187 E ReactNativeJS: ReferenceError: Property '__decode' doesn't exist, js engine: hermes
03-31 09:50:25.554 18158 18187 E ReactNativeJS: TypeError: Cannot read property 'decode' of undefined
03-31 09:50:25.554 18158 18187 E ReactNativeJS: 
03-31 09:50:25.554 18158 18187 E ReactNativeJS: This error is located at:
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in RCTView
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in v
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in RNSScreen
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in R
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in D
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in B
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in h
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in RNSScreenStack
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in ScreenStack
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in y
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in RNCSafeAreaProvider
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in y
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in D
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in l
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in RCTView
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in RCTView
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.554 18158 18187 E ReactNativeJS:     in b, js engine: hermes
03-31 09:50:25.555 18158 18187 E ReactNativeJS: TypeError: Cannot read property 'decode' of undefined
03-31 09:50:25.555 18158 18187 E ReactNativeJS: 
03-31 09:50:25.555 18158 18187 E ReactNativeJS: This error is located at:
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in RCTView
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in v
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in RNSScreen
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in R
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in D
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in B
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in h
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in RNSScreenStack
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in ScreenStack
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in y
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in RNCSafeAreaProvider
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in y
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in D
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in l
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in RCTView
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in RCTView
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in Unknown
03-31 09:50:25.555 18158 18187 E ReactNativeJS:     in b, js engine: hermes

Device

Mi Note 10 Pro

VisionCamera Version

2.13.1

Additional information

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 23 (12 by maintainers)

Commits related to this issue

Most upvoted comments

This seems to be related to proguard. Have you enabled proguard?

Try to add the following rules:

-keep class com.swmansion.reanimated.** { *; }
-keep class com.facebook.react.turbomodule.** { *; }
-keep class com.dynamsoft.dbr.** { *; }