mrousavy / react-native-vision-camera

📸 A powerful, high-performance React Native Camera library.
https://react-native-vision-camera.com
MIT License
7.54k stars 1.1k forks source link

🐛 package FrameProcessorRuntimeManager does not exist #1373

Closed tgreco closed 1 year ago

tgreco commented 1 year ago

What were you trying to do?

Trying to build the android app. It was working previously and if build errors occurred I could remove my node_modules and reinstall fresh to fix it. However, fresh reinstalls no longer fix it and I've tried every possible solution I came across on the issues on here.

./gradlew installDebug --warning-mode all as well as trying to build directly in Android studio all return the same error output.

Reproduceable Code

"react": "18.0.0",
"react-native": "0.69.0",
"react-native-gesture-handler": "^2.8.0",
"react-native-reanimated": "^2.13.0",
"react-native-vision-camera": "^2.15.2",
"vision-camera-dynamsoft-barcode-reader": "^0.6.0",

Also tried with react-native 0.68.0

What happened instead?

Build fails.

Relevant log output

> Task :react-native-vision-camera:compileDebugJavaWithJavac FAILED
/Volumes/mobile/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/frameprocessor/FrameProcessorPlugin.java:51: error: package FrameProcessorRuntimeManager does not exist
        FrameProcessorRuntimeManager.Companion.getPlugins().add(plugin);
                                    ^
1 error
w: Detected multiple Kotlin daemon sessions at build/kotlin/sessions

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-vision-camera:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.```

Device

Pixel 3

VisionCamera Version

2.15.2 also tried 2.14.1 and 2.15.1

Additional information

mrousavy commented 1 year ago

Hi, this looks like some Kotlin issue. Maybe you changed your Kotlin versions in your app and that broke the compiler?

Also, did you enable Frame Processors with the Flag?

tgreco commented 1 year ago

Hi, this looks like some Kotlin issue. Maybe you changed your Kotlin versions in your app and that broke the compiler?

Also, did you enable Frame Processors with the Flag?

Great questions, everything worked at one point and just stopped working the last week or so. What frame processor flag needs to be enabled for Android? I'm having trouble finding anything in the documentation besides disableFrameProcessors which I can confirm I do not have set.

As for Kotlin versions, it is very possible. What version is recommended/do you have? I'll try setting mine to that and giving it another go.

mrousavy commented 1 year ago

Use the same as the example/ app has

tgreco commented 1 year ago

Use the same as the example/ app has

@mrousavy adding RNNKotlinVersion = "1.3.61" to my android/build.gradle should be sufficient for setting the Kotlin version to match the example app?

I have tried that as well as setting kotlinVersion to match that.

I have even tried setting disableFrameProcessors=true in my gradle.properties file and clean/rebuilding just to get my app to run for the moment again but that still refuses to compile with the same error.

Please let me know what other info I can provide to get assistance as this is a huge road block to not be able to compile my app anymore.

erickcrus commented 1 year ago

Same here. my package json:

{
  "name": "myApp",
  "version": "3.0.01",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint .",
    "build:assets": "fc-build-assets --fc-template ./assets/fusioncharts-tpl.html"
  },
  "main": "index.js",
  "dependencies": {
    "@gorhom/bottom-sheet": "^4.4.5",
    "@ptomasroos/react-native-multi-slider": "^2.2.2",
    "@react-native-community/cli": "9.3.2",
    "@react-native-community/clipboard": "1.5.1",
    "@react-native-community/datetimepicker": "3.5.2",
    "@react-native-community/netinfo": "6.0.0",
    "@react-native-community/push-notification-ios": "^1.10.1",
    "@react-native-firebase/analytics": "^16.4.6",
    "@react-native-firebase/app": "^16.4.6",
    "@react-native-firebase/messaging": "^16.4.6",
    "@react-navigation/bottom-tabs": "5.11.15",
    "@react-navigation/native": "5.9.8",
    "@react-navigation/stack": "5.14.9",
    "@tradle/react-native-http": "2.0.1",
    "array-object-merge": "1.2.1",
    "assert": "1.5.0",
    "axios": "0.19.2",
    "axios-retry": "3.2.4",
    "browserify-zlib": "^0.1.4",
    "buffer": "^4.9.1",
    "console-browserify": "^1.2.0",
    "constants-browserify": "^1.0.0",
    "cpf-cnpj-validator": "1.0.3",
    "decimal.js-light": "2.5.1",
    "deprecated-react-native-prop-types": "^2.3.0",
    "dns.js": "^1.0.1",
    "domain-browser": "^1.2.0",
    "events": "^1.1.1",
    "fbjs": "^3.0.4",
    "hermes-engine": "^0.11.0",
    "html-entities": "2.3.3",
    "https-browserify": "0.0.1",
    "jsc-android": "^250230.2.1",
    "lottie-ios": "3.4.0",
    "lottie-react-native": "5.1.4",
    "moment": "2.29.1",
    "otplib": "12.0.1",
    "patch-package": "^6.5.0",
    "path-browserify": "0.0.0",
    "process": "^0.11.10",
    "punycode": "^1.4.1",
    "querystring-es3": "^0.2.1",
    "react": "18.0.0",
    "react-native": "0.69.7",
    "react-native-actionsheet": "2.4.2",
    "react-native-animatable": "1.3.3",
    "react-native-barcode-mask": "1.2.4",
    "react-native-biometrics": "3.0.1",
    "react-native-blob-util": "0.13.18",
    "react-native-calendars": "1.1254.0",
    "react-native-camera": "4.2.1",
    "react-native-canvas": "0.1.38",
    "react-native-circular-progress-indicator": "4.4.0",
    "react-native-confirmation-code-field": "6.5.1",
    "react-native-confirmation-code-input": "1.0.4",
    "react-native-countdown-component": "2.7.1",
    "react-native-crypto": "2.2.0",
    "react-native-date-picker": "3.3.2",
    "react-native-device-info": "8.4.8",
    "react-native-document-picker": "4.3.0",
    "react-native-fs": "2.20.0",
    "react-native-gesture-handler": "2.4.0",
    "react-native-hyperlinked-text": "1.0.2",
    "react-native-image-crop-picker": "0.26.2",
    "react-native-in-app-review": "3.1.1",
    "react-native-level-fs": "^3.0.1",
    "react-native-linear-gradient": "2.5.6",
    "react-native-masked-text": "1.12.5",
    "react-native-material-dropdown": "github:erickcrus/react-native-material-dropdown",
    "react-native-material-textfield": "0.16.1",
    "react-native-orientation": "3.1.3",
    "react-native-os": "^1.2.6",
    "react-native-pager-view": "5.1.0",
    "react-native-pdf": "6.4.0",
    "react-native-permissions": "3.6.1",
    "react-native-progress": "^5.0.0",
    "react-native-push-notification": "^8.1.1",
    "react-native-qrcode-scanner": "1.5.3",
    "react-native-qrcode-svg": "github:erickcrus/react-native-qrcode-svg",
    "react-native-randombytes": "3.6.1",
    "react-native-reanimated": "^2.10.0",
    "react-native-recaptcha": "github:erickcrus/react-native-recaptcha",
    "react-native-render-html": "6.0.5",
    "react-native-safe-area-context": "3.4.1",
    "react-native-scalable-image": "github:uugengiven/react-native-scalable-image",
    "react-native-screens": "^2.18.1",
    "react-native-share": "3.8.5",
    "react-native-svg": "12.1.1",
    "react-native-svg-animated-linear-gradient": "0.4.0",
    "react-native-svg-transformer": "0.14.3",
    "react-native-tcp": "^3.3.2",
    "react-native-three-dots-loader": "github:erickcrus/react-native-three-dots-loader",
    "react-native-tracking-transparency": "0.1.0",
    "react-native-udp": "^2.7.0",
    "react-native-vision-camera": "^2.15.2",
    "react-native-webview": "11.11.0",
    "readable-stream": "1.0.33",
    "rn-secure-storage": "2.0.7",
    "socket.io-client": "2.4.0",
    "stream-browserify": "^1.0.0",
    "string_decoder": "^0.10.31",
    "timers-browserify": "^1.4.2",
    "toggle-switch-react-native": "2.3.0",
    "tty-browserify": "0.0.0",
    "unstated": "^2.1.1",
    "url": "^0.10.3",
    "util": "^0.10.4",
    "vm-browserify": "0.0.4"
  },
  "devDependencies": {
    "@babel/compat-data": "7.17.10",
    "@babel/core": "7.13.10",
    "@babel/runtime": "7.13.10",
    "@react-native-community/eslint-config": "3.2.0",
    "@types/jest": "26.0.20",
    "@types/react": "17.0.3",
    "@types/react-native": "0.63.51",
    "@types/react-test-renderer": "18.0.0",
    "babel-jest": "24.9.0",
    "babel-plugin-dynamic-import-node": "2.3.3",
    "babel-plugin-polyfill-corejs3": "0.5.2",
    "eslint": "8.27.0",
    "jest": "27.4.7",
    "jetifier": "1.6.8",
    "metro-config": "^0.72.3",
    "metro-react-native-babel-preset": "0.56.4",
    "react-native-codegen": "0.0.7",
    "react-test-renderer": "18.0.0",
    "rn-nodeify": "github:tradle/rn-nodeify",
    "typescript": "4.2.3"
  },
  ...
}
tgreco commented 1 year ago

This bug sucks... I created a new react-native project from scratch 0.70.6 and installed vision-camera 2.14.1. Same exact issue lol


/mobile/node_modules/react-native-vision-camera/android/src/main/java/com/mrousavy/camera/frameprocessor/FrameProcessorPlugin.java:51: error: package FrameProcessorRuntimeManager does not exist
        FrameProcessorRuntimeManager.Companion.getPlugins().add(plugin);
                                    ^
1 error
w: Detected multiple Kotlin daemon sessions at build/kotlin/sessions
myselfuser1 commented 1 year ago

Try this https://www.youtube.com/playlist?list=PLQhQEGkwKZUrempLnmxjt7ZCZJu1W3p2i

mingkaili commented 1 year ago

Hi @tgreco @erickcrus, I am working on a project with this library as well, is there eventually a solution with this error? Thanks!

mrousavy commented 1 year ago

Hey! I've rewritten the entire Android codebase of VisionCamera from CameraX to Camera2 in the efforts of ✨ VisionCamera V3.

I just now completed the Camera2 rewrite and I believe the core structure is running, but there might be some edge cases to iron out. Can you try and test the PR #1674 for me to see if you can still reproduce this issue here?

Here's an instruction on how you can test that: https://github.com/mrousavy/react-native-vision-camera/pull/1674#issuecomment-1684104217

If the issue cannot be reproduced with that version/PR anymore, then hoorayy, I fixed it! 🎉 Otherwise please let me know and I'll keep this issue open to keep track of it.

Thank you!