mieszko4 / react-native-zoom-us

MIT License
123 stars 118 forks source link

react-native-zoom-us problem in android #305

Closed pr906 closed 8 months ago

pr906 commented 11 months ago

i am use "react-native-zoom-us": "^6.18.0", this version but when i am try to open zoom meet in android so app is crash i am try to debug also but not getting any error msg so pls help me for this error how to resolve my React Native version :- "0.61.3"

Screenshot 2023-10-03 at 10 43 14 AM
haivieted commented 11 months ago

You can use android studio logcat to see Crash log

rahulvyas commented 10 months ago

i am use "react-native-zoom-us": "^6.18.0", this version but when i am try to open zoom meet in android so app is crash i am try to debug also but not getting any error msg so pls help me for this error how to resolve my React Native version :- "0.61.3" Screenshot 2023-10-03 at 10 43 14 AM

I'm also having same problem did you found any solution?

rahulvyas commented 10 months ago

This is the error log I got. I found a thread on zoom forums as well (Zoom crash on android 12 and above). According to thread we need to use ndk r23b and it's not available for download. How to fix this error any one knows? @mieszko4

2023-10-28 09:50:48.519  9509-9509  RNZoomUs                com.xxx.xxxx                   I  joinMeeting, joinMeetingResult=0
2023-10-28 09:50:48.527  9509-9509  RNZoomUs                com.xxx.xxxx                   I  onHostPause
2023-10-28 09:50:48.661  9509-9509  CameraManagerGlobal     com.xxx.xxxx                   I  Connecting to camera service
2023-10-28 09:50:48.777  9509-9509  .xxx.xxxx         com.xxx.xxxx                   A  java_vm_ext.cc:594] JNI DETECTED ERROR IN APPLICATION: JNI CallIntMethodV called with pending exception java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__emutls_get_address" referenced by "/data/app/~~AWriUjtkM3sKXvVXzWm7tw==/com.xxx.xxxx-WjjI8zOjkK_zSvvUbHus_A==/base.apk!/lib/arm64-v8a/libannotate.so"...
                                                                                                    java_vm_ext.cc:594]   at void java.lang.Runtime.loadLibrary0(java.lang.ClassLoader, java.lang.Class, java.lang.String) (Runtime.java:1077)
                                                                                                    java_vm_ext.cc:594]   at void java.lang.Runtime.loadLibrary0(java.lang.Class, java.lang.String) (Runtime.java:998)
                                                                                                    java_vm_ext.cc:594]   at void java.lang.System.loadLibrary(java.lang.String) (System.java:1661)
                                                                                                    java_vm_ext.cc:594]   at void com.zipow.videobox.mainboard.module.ZmSdkMainBoard.loadSDKConfAppNativeModules() (ZmSdkMainBoard.java:8)
                                                                                                    java_vm_ext.cc:594]   at void com.zipow.videobox.mainboard.module.ZmSdkMainBoard.createConfAppForSdk(java.lang.String) (ZmSdkMainBoard.java:8)
                                                                                                    java_vm_ext.cc:594]   at void com.zipow.videobox.VideoBoxApplication.initConfAppForSDK(java.lang.String) (VideoBoxApplication.java:23)
                                                                                                    java_vm_ext.cc:594]   at int com.zipow.videobox.VideoBoxApplication.startConfServiceForSDK(android.os.Bundle) (VideoBoxApplication.java:8)
                                                                                                    java_vm_ext.cc:594]   at int com.zipow.videobox.ptapp.ConfProcessMgr.createConfProcess(java.lang.String) (ConfProcessMgr.java:15)
                                                                                                    java_vm_ext.cc:594]   at void com.zipow.videobox.mainboard.Mainboard.notifyUrlActionImpl(java.lang.String) (Mainboard.java:-2)
                                                                                                    java_vm_ext.cc:594]   at void com.zipow.videobox.mainboard.Mainboard.notifyUrlAction(java.lang.String) (Mainboard.java:6)
                                                                                                    java_vm_ext.cc:594]   at int com.zipow.videobox.confapp.meeting.premeeting.joinscene.ZMJoinByUrl.joinByUrl(android.content.Context, java.lang.String, java.lang.String, boolean) (ZMJoinByUrl.java:61)
                                                                                                    java_vm_ext.cc:594]   at int com.zipow.videobox.confapp.meeting.premeeting.joinscene.ZMJoinByUrl.joinByUrl(android.content.Context, java.lang.String, boolean) (ZMJoinByUrl.java:43)
                                                                                                    java_vm_ext.cc:594]   at int com.zipow.videobox.confapp.meeting.premeeting.joinscene.ZMJoinByUrl.startConfrence(android.content.Context) (ZMJoinByUrl.java:3)
                                                                                                    java_vm_ext.cc:594]   at boolean com.zipow.videobox.JoinByURLActivity.a(android.net.Uri, boolean) (JoinByURLActivity.java:13)
                                                                                                    java_vm_ext.cc:594]   at boolean com.zipow.videobox.JoinByURLActivity.a(android.net.Uri, boolean, boolean) (JoinByURLActivity.java:41)
                                                                                                    java_vm_ext.cc:594]   at void com.zipow.videobox.JoinByURLActivity.b(android.net.Uri, boolean) (JoinByURLActivity.java:51)
                                                                                                    java_vm_ext.cc:594]   at void com.zipow.videobox.JoinByURLActivity.onResume() (JoinByURLActivity.java:181)
                                                                                                    java_vm_ext.cc:594]   at void android.app.Instrumentation.callActivityOnResume(android.app.Activity) (Instrumentation.java:1564)
                                                                                                    java_vm_ext.cc:594]   at void android.app.Activity.performResume(boolean, java.lang.String) (Activity.java:8437)
                                                                                                    java_vm_ext.cc:594]   at boolean android.app.ActivityThread.performResumeActivity(android.app.ActivityThread$ActivityClientRecord, boolean, java.lang.String) (ActivityThread.java:4763)
                                                                                                    java_vm_ext.cc:594]   at void android.app.ActivityThread.handleResumeActivity(android.app.ActivityThread$ActivityClientRecord, boolean, boolean, java.lang.String) (ActivityThread.java:4806)
                                                                                                    java_vm_ext.cc:594]   at void android.app.servertransaction.ResumeActivityItem.execute(android.app.ClientTransactionHandler, android.app.ActivityThread$ActivityClientRecord, android.app.servertransaction.PendingTransactionActions) (ResumeActivityItem.java:54)
                                                                                                    java_vm_ext.cc:594]   at void android.app.servertransaction.ActivityTransactionItem.execute(android.app.ClientTransactionHandler, android.os.IBinder, android.app.servertransaction.PendingTransactionActions) (ActivityTransactionItem.java:45)
                                                                                                    java_vm_ext.cc:594]   at void android.app.servertransaction.TransactionExecutor.executeLifecycleState(android.app.servertransaction.ClientTransaction) (TransactionExecutor.java:176)
rahulvyas commented 10 months ago

You can use android studio logcat to see Crash log

I have added crash log and also updated android ndk to version r23b but still having the issue on android 12 and above devices.

nguptaesaral commented 10 months ago

i am also having the similar issue. crash when join the meeting. I am also using vdoCipher for play videos. when i uninstall this module zoom-us works fine. i am attaching the android studio logcat logs.

2023-10-30 12:32:06.802 23522-23522 AndroidRuntime com.esaral.exam.preparation E FATAL EXCEPTION: main Process: com.esaral.exam.preparation, PID: 23522 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.esaral.exam.preparation/com.zipow.videobox.ConfActivityNormal}: android.view.InflateException: Binary XML file line #16 in com.esaral.exam.preparation:layout/zm_conf_main_screen: Binary XML file line #16 in com.esaral.exam.preparation:layout/zm_conf_main_screen: Error inflating class com.zipow.videobox.newjoinflow.waitingview.oldui.ZmOldUINewJoinFlowWaitingView at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3635) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3792) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2210) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7839) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) Caused by: android.view.InflateException: Binary XML file line #16 in com.esaral.exam.preparation:layout/zm_conf_main_screen: Binary XML file line #16 in com.esaral.exam.preparation:layout/zm_conf_main_screen: Error inflating class com.zipow.videobox.newjoinflow.waitingview.oldui.ZmOldUINewJoinFlowWaitingView Caused by: android.view.InflateException: Binary XML file line #16 in com.esaral.exam.preparation:layout/zm_conf_main_screen: Error inflating class com.zipow.videobox.newjoinflow.waitingview.oldui.ZmOldUINewJoinFlowWaitingView Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:343) at android.view.LayoutInflater.createView(LayoutInflater.java:858) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1010) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:965) at android.view.LayoutInflater.rInflate(LayoutInflater.java:1127) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1088) at android.view.LayoutInflater.inflate(LayoutInflater.java:686) at android.view.LayoutInflater.inflate(LayoutInflater.java:538) at android.view.LayoutInflater.inflate(LayoutInflater.java:485) at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:461) at android.app.Activity.setContentView(Activity.java:3520) at androidx.activity.ComponentActivity.setContentView(ComponentActivity.java:433) at com.zipow.videobox.ConfActivityNormal.onCreate(ConfActivityNormal.java:37) at android.app.Activity.performCreate(Activity.java:8051) at android.app.Activity.performCreate(Activity.java:8031) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3608) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3792) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2210) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7839) at java.lang.reflect.Method.invoke(Native Method) 2023-10-30 12:32:06.803 23522-23522 AndroidRuntime com.esaral.exam.preparation E at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/exoplayer2/Player$Listener; ... 30 more Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.exoplayer2.Player$Listener" on path: DexPathList[[zip file "/data/app/~~_GUsR93lzaP3_N3jNUPEQw==/com.esaral.exam.preparation-DYEKT-qZz4nc6wz3l28GGQ==/base.apk"],nativeLibraryDirectories=[/data/app/~~_GUsR93lzaP3_N3jNUPEQw==/com.esaral.exam.preparation-DYEKT-qZz4nc6wz3l28GGQ==/lib/x86_64, /data/app/~~_GUsR93lzaP3_N3jNUPEQw==/com.esaral.exam.preparation-DYEKT-qZz4nc6wz3l28GGQ==/base.apk!/lib/x86_64, /system/lib64, /system_ext/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:218) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) ... 30 more

ajayranga commented 10 months ago

@nguptaesaral Updating your project's react-native version might resolve this issue

nguptaesaral commented 10 months ago

@ajayhcode i am working on react-native "0.72.4". here is my project's dependencies

"dependencies": { "@miblanchard/react-native-slider": "^2.1.0", "@react-native-async-storage/async-storage": "^1.17.9", "@react-native-clipboard/clipboard": "^1.11.1", "@react-native-community/geolocation": "^3.0.5", "@react-native-community/netinfo": "^9.3.6", "@react-native-firebase/analytics": "^16.4.4", "@react-native-firebase/app": "^16.4.4", "@react-native-firebase/crashlytics": "^16.4.4", "@react-native-firebase/dynamic-links": "^16.4.4", "@react-native-firebase/messaging": "^16.4.4", "@react-navigation/drawer": "^6.5.0", "@react-navigation/material-top-tabs": "^6.3.0", "@react-navigation/native": "^6.0.13", "@react-navigation/native-stack": "^6.9.1", "@reduxjs/toolkit": "^1.8.5", "aws-sdk": "^2.1277.0", "axios": "^0.27.2", "base64-arraybuffer": "^1.0.2", "lottie-react-native": "^5.1.4", "moment": "^2.29.4", "moment-timezone": "^0.5.37", "radio-buttons-react-native": "^1.0.4", "react": "18.2.0", "react-native": "0.72.4", "react-native-autoheight-webview": "^1.6.5", "react-native-blob-util": "^0.17.0", "react-native-countdown-component": "^2.7.1", "react-native-device-info": "^10.3.0", "react-native-fs": "^2.20.0", "react-native-gesture-handler": "^2.5.0", "react-native-image-crop-picker": "^0.38.0", "react-native-image-zoom-viewer": "^3.0.1", "react-native-localize": "^2.2.3", "react-native-mathjax": "^2.1.2", "react-native-otp-inputs": "^7.4.0", "react-native-otp-verify": "^1.1.4", "react-native-pager-view": "^6.0.1", "react-native-pdf": "^6.6.2", "react-native-progress": "^5.0.0", "react-native-push-notification": "^8.1.1", "react-native-reanimated": "^3.5.4", "react-native-render-html": "^6.3.4", "react-native-safe-area-context": "^4.4.1", "react-native-screens": "^3.18.2", "react-native-size-matters": "^0.4.0", "react-native-sqlite-storage": "^6.0.1", "react-native-svg": "^13.4.0", "react-native-tab-view": "^3.3.0", "react-native-vector-icons": "^9.2.0", "react-native-version-check": "^3.4.7", "react-native-webview": "^11.23.0", "react-native-zoom-us": "^6.18.0", "react-redux": "^8.0.2", "redux-logger": "^3.0.6", "redux-thunk": "^2.4.1", "vdocipher-rn-bridge": "^1.17.6" }, "devDependencies": { "@babel/core": "^7.20.0", "@babel/preset-env": "^7.20.0", "@babel/runtime": "^7.20.0", "@react-native/eslint-config": "^0.72.2", "@react-native/metro-config": "^0.72.11", "@tsconfig/react-native": "^3.0.0", "@types/react": "^18.0.24", "@types/react-test-renderer": "^18.0.0", "babel-jest": "^29.2.1", "eslint": "^8.19.0", "jest": "^29.2.1", "metro-react-native-babel-preset": "0.76.8", "prettier": "^2.4.1", "react-test-renderer": "18.2.0", "typescript": "4.8.4" }, "engines": { "node": ">=16" }

frankie-fk commented 10 months ago

@nguptaesaral

very high chance that video player of the 2 packages are conflicting. I face the same issue with react-native-video. I have to exclude the exo-player from zoom:

 implementation (project(':react-native-zoom-us')) {
    exclude group: 'com.google.android.exoplayer'}
nguptaesaral commented 10 months ago

@frankie-fk as per your solution, I have added it as followed in app/build.gradel file. but the error remains the same.

`dependencies { // The version of react-native is set by the React Native Gradle Plugin implementation("com.facebook.react:react-android")

implementation (project(':react-native-zoom-us')) {
    exclude group: 'com.google.android.exoplayer'
}

debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}")
debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
    exclude group:'com.squareup.okhttp3', module:'okhttp'
}

debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}")
if (hermesEnabled.toBoolean()) {
    implementation("com.facebook.react:hermes-android")
} else {
    implementation jscFlavor
}

}`

frankie-fk commented 10 months ago

@nguptaesaral also, in .react-native.config.js, you have to remove exo-player:

module.exports = {
    assets: ['./src/assets/fonts'],
    dependencies: {
        'react-native-video': {
            platforms: {
                android: {
                    sourceDir:
                        '../node_modules/react-native-video/android-exoplayer',
                },
            },
        },
    },
};

to this:

module.exports = {
    assets: ['./src/assets/fonts'],
    dependencies: 
    },
};
nguptaesaral commented 10 months ago

@frankie-fk where can i find ".react-native.config.js" file

i have "babel.config.js" in root of my project. here is the content of "babel.config.js" file module.exports = { presets: ['module:metro-react-native-babel-preset'], plugins: [ 'react-native-reanimated/plugin', ], };

frankie-fk commented 10 months ago

@nguptaesaral , looks like in your case it would be like this:

  1. If you install vdocipher-rn-bridge, when you join meeting, vdo player will be used instead of exo-playeron react-native-zoom-us.
  2. If you remove vdocipher-rn-bridge, exo-playeron react-native-zoom-us will be used and there'll be no crashes. => The issue is in vdo player, it doesn't support all features of zoom. In my case, I have "react-native-video" which uses oldexo-player and got crashes, I upgraded it to latest "react-native-video" alpha versions (where exo-player is latest) and the problem was solved.
mieszko4 commented 8 months ago

I will close this issue since @frankie-fk gave a solution.