mieszko4 / react-native-zoom-us

MIT License
125 stars 118 forks source link

Error: Default method desugaring of `us.zoom.androidlib.app.ZMDialogFragment` failed because its super class `androidx.fragment.app.DialogFragment` is missing #208

Closed cloudy-ninja closed 2 years ago

cloudy-ninja commented 2 years ago

Platform

 Android 
 buildToolsVersion = "30.0.2"
 minSdkVersion = 21
 compileSdkVersion = 30
 targetSdkVersion = 30

Issue

The app works good in debug mode, but when trying to make a release build, I got this error. I checked Example app is working on my side.

image

cloudy-ninja commented 2 years ago

I am using the latest version(6.9)

mieszko4 commented 2 years ago

Looks like related to https://github.com/mieszko4/react-native-zoom-us/issues/202

mieszko4 commented 2 years ago

I cannot reproduce this. I cloned the example app (https://github.com/mieszko4/react-native-zoom-us-test) and did the release with no problem (cd android && ./gradlew assembleRelease && cd ..)

I see in the screenshot that you used unimodules-face-detector-interface so I guess that's related to expo. Could you share which other packages you are using? Have you tried adding androidx.fragment.app.DialogFragment manually?

cloudy-ninja commented 2 years ago

Hi @mieszko4 Thanks for your reply Yes, the example app is working perfectly on my side as well, I appreciate your efforts.

Could you please let me know how I can add androidx.fragment.app.DialogFragment manually? FYI, here is packages which I am using in the project.

    "@gorhom/bottom-sheet": "^2",
    "@react-native-async-storage/async-storage": "^1.13.2",
    "@react-native-community/masked-view": "0.1.10",
    "@react-navigation/bottom-tabs": "^5.10.0",
    "@react-navigation/material-top-tabs": "^5.3.1",
    "@react-navigation/native": "^5.8.0",
    "@react-navigation/stack": "^5.10.0",
    "@sentry/react-native": "^2.5.1",
    "axios": "^0.21.0",
    "cavy": "^4.0.1",
    "expo": "~39.0.2",
    "expo-analytics": "^1.0.16",
    "expo-blur": "~8.2.0",
    "expo-constants": "~9.2.0",
    "expo-font": "~8.3.0",
    "expo-local-authentication": "~9.3.0",
    "expo-localization": "~9.0.0",
    "expo-location": "~9.0.0",
    "expo-splash-screen": "~0.6.1",
    "expo-store-review": "~2.2.0",
    "expo-updates": "~0.3.3",
    "expo-web-browser": "~8.5.0",
    "fuse.js": "^6.4.2",
    "i18n-js": "^3.8.0",
    "lottie-ios": "3.1.8",
    "lottie-react-native": "https://github.com/lottie-react-native/lottie-react-native",
    "meilisearch": "^0.18.1",
    "moment": "^2.29.1",
    "moment-timezone": "^0.5.31",
    "react": "16.13.1",
    "react-content-loader": "^6.0.2",
    "react-dom": "16.13.1",
    "react-native": "~0.63.3",
    "react-native-animatable": "^1.3.3",
    "react-native-calendars": "^1.403.0",
    "react-native-circular-progress": "^1.3.7",
    "react-native-collapsible": "^1.5.3",
    "react-native-confirmation-code-input": "^1.0.4",
    "react-native-datepicker": "^1.7.2",
    "react-native-dropdown-picker": "^4.0.2",
    "react-native-fast-image": "^8.5.11",
    "react-native-gesture-handler": "~1.7.0",
    "react-native-image-picker": "^4.7.0",
    "react-native-in-app-utils": "^6.1.0",
    "react-native-iphone-x-helper": "^1.3.1",
    "react-native-modal": "^13.0.0",
    "react-native-music-control": "^1.4.0",
    "react-native-parallax-scroll-view": "^0.21.3",
    "react-native-progress-circle": "^2.1.0",
    "react-native-reanimated": "^1.13.1",
    "react-native-responsive-screen": "^1.4.1",
    "react-native-safe-area-context": "3.1.4",
    "react-native-screens": "~2.10.1",
    "react-native-snap-carousel": "^3.9.1",
    "react-native-ssl-pinning": "^1.5.2",
    "react-native-svg": "^12.1.0",
    "react-native-svg-transformer": "^0.14.3",
    "react-native-switch": "^2.0.0",
    "react-native-tab-view": "^2.15.2",
    "react-native-unimodules": "~0.11.0",
    "react-native-video": "^5.2.0",
    "react-native-web": "~0.13.12",
    "react-native-webview": "10.7.0",
    "react-native-zoom-us": "^6.9.0",
    "react-navigation": "^4.4.3",
    "react-redux": "^7.2.2",
    "redux": "^4.0.5",
    "redux-logger": "^3.0.6",
    "redux-persist": "^6.0.0",
    "redux-thunk": "^2.3.0",
    "reselect": "^4.0.0",
    "sentry-expo": "^3.0.2",
    "styled-components": "^5.2.0"
mieszko4 commented 2 years ago

Could you please let me know how I can add androidx.fragment.app.DialogFragment manually?

Try to add implementation in your android/app/build.gradle

cloudy-ninja commented 2 years ago

I added this line implementation "androidx.fragment:fragment:1.4.1" to the dependences of app/build.gradle. Not sure I did correctly but after adding it, I am getting the same error

The build.gradle dependencies section looks like this

dependencies {
    compile project(':react-native-video')
    implementation "androidx.appcompat:appcompat:1.0.0"
    implementation fileTree(dir: "libs", include: ["*.jar"])
    //noinspection GradleDynamicVersion
    implementation "com.facebook.react:react-native:+"  // From node_modules
    implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
    implementation project(':lottie-react-native')
    //zoom glide issue fix
    implementation 'com.github.bumptech.glide:glide:4.12.0'
    implementation "androidx.fragment:fragment:1.4.1"
    debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
      exclude group:'com.facebook.fbjni'
    }
    debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
        exclude group:'com.facebook.flipper'
        exclude group:'com.squareup.okhttp3', module:'okhttp'
    }
    debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") {
        exclude group:'com.facebook.flipper'
    }
    addUnimodulesDependencies()

    if (enableHermes) {
        def hermesPath = "../../node_modules/hermes-engine/android/";
        debugImplementation files(hermesPath + "hermes-debug.aar")
        releaseImplementation files(hermesPath + "hermes-release.aar")
    } else {
        implementation jscFlavor
    }
}
mieszko4 commented 2 years ago

:thinking: You are using react-native-unimodules which is deprecated and I can see that you also use expo. It is confusing to see both of them.

Anyway, I suggest you to remove react-native-unimodules, I do not see why you need it if you use expo. See https://blog.expo.dev/whats-new-in-expo-modules-infrastructure-7a7cdda81ebc. Note that you will most likely need to do clean up of changes introduced by adding unimodules (https://docs.expo.dev/bare/installing-unimodules/)

cloudy-ninja commented 2 years ago

Thank you for your support @mieszko4 Upgraded the expo sdk to 44, so the react-native-unimodules was removed fully. But now I am getting Manifest Merge error, can you please take a look at the following error? image

image

cloudy-ninja commented 2 years ago

If I remove react-native-zoom-us, then Android build(both debug and release) is successful. I don't know the Android native side well, so it's very difficult to figure out what happened

mieszko4 commented 2 years ago

image

I do not think there are enough logs to conclude anything. Also, it shows only warnings. Have you tried solution of https://stackoverflow.com/questions/35842955/manifest-merger-failed-with-multiple-errors-in-android-studio?

cloudy-ninja commented 2 years ago

Thank you for your help @mieszko4 Finally, I was able to fix the Manifest Merge error, but the app crashed when joining the meeting. On the other hand, the iOS app works well Can you please take a look at the following error? Thanks again for your support

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.zoomtest, PID: 32740
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zoomtest/com.zipow.videobox.ConfActivityNormal}: android.view.InflateException: Binary XML file line #48 in com.zoomtest:layout/zm_conf_main_screen: Binary XML file line #48 in com.zoomtest:layout/zm_conf_main_screen: Error inflating class com.zipow.videobox.view.OnSilentView
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4035)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201)
        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:2438)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:226)
        at android.os.Looper.loop(Looper.java:313)
        at android.app.ActivityThread.main(ActivityThread.java:8663)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
     Caused by: android.view.InflateException: Binary XML file line #48 in com.zoomtest:layout/zm_conf_main_screen: Binary XML file line #48 in com.zoomtest:layout/zm_conf_main_screen: Error inflating class com.zipow.videobox.view.OnSilentView
     Caused by: android.view.InflateException: Binary XML file line #48 in com.zoomtest:layout/zm_conf_main_screen: Error inflating class com.zipow.videobox.view.OnSilentView
     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:533)
        at android.app.Activity.setContentView(Activity.java:3589)
        at com.zipow.videobox.ConfActivityNormal.onCreate(ConfActivityNormal.java:35)
        at android.app.Activity.performCreate(Activity.java:8290)
        at android.app.Activity.performCreate(Activity.java:8270)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4009)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201)
        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:2438)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:226)
        at android.os.Looper.loop(Looper.java:313)
        at android.app.ActivityThread.main(ActivityThread.java:8663)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
     Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/exoplayer2/Player$Listener;
        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:533) 
        at android.app.Activity.setContentView(Activity.java:3589) 
        at com.zipow.videobox.ConfActivityNormal.onCreate(ConfActivityNormal.java:35) 
        at android.app.Activity.performCreate(Activity.java:8290) 
        at android.app.Activity.performCreate(Activity.java:8270) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4009) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201) 
        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:2438) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loopOnce(Looper.java:226) 
        at android.os.Looper.loop(Looper.java:313) 
        at android.app.ActivityThread.main(ActivityThread.java:8663) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) 
E/AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.exoplayer2.Player$Listener" on path: DexPathList[[zip file "/data/app/~~UwUXsiomXE6CcfcXt6sURg==/com.zoomtest-RtM5AT6F2fpH3RDqWN9xNw==/base.apk"],nativeLibraryDirectories=[/data/app/~~UwUXsiomXE6CcfcXt6sURg==/com.zoomtest-RtM5AT6F2fpH3RDqWN9xNw==/lib/arm64, /data/app/~~UwUXsiomXE6CcfcXt6sURg==/com.zoomtest-RtM5AT6F2fpH3RDqWN9xNw==/base.apk!/lib/arm64-v8a, /system/lib64, /system/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)
            ... 29 more
cloudy-ninja commented 2 years ago

For your reference, Zoom SDK initialization was successful

cloudy-ninja commented 2 years ago

@mieszko4 I found one interesting thing, in our project we are using react-native-video. Initially, I applied both options of this guide. At that time, react-native-video worked but the react-native-zoom-us package did not work. So I just disabled the exoplayer for zoom lib and still, I am using react-native-video v5.2. Now our react-native-zoom-us lib is working, otherwise, react-native-video is not working and the app crashed

mieszko4 commented 2 years ago

Now our react-native-zoom-us lib is working, otherwise, react-native-video is not working and the app crashed

Interesting. So it looks like you cannot use both at the same time. I never tried both so I am not sure about the reason. What do the crash logs say?

cloudy-ninja commented 2 years ago

At that time, I just got this error

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.zoomtest, PID: 23221
    java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/exoplayer2/video/VideoListener;
        at com.brentvatne.exoplayer.ReactExoplayerView.createViews(ReactExoplayerView.java:226)
        at com.brentvatne.exoplayer.ReactExoplayerView.<init>(ReactExoplayerView.java:202)
        at com.brentvatne.exoplayer.ReactExoplayerViewManager.createViewInstance(ReactExoplayerViewManager.java:87)
        at com.brentvatne.exoplayer.ReactExoplayerViewManager.createViewInstance(ReactExoplayerViewManager.java:28)
        at com.facebook.react.uimanager.ViewManager.createViewInstance(ViewManager.java:139)
        at com.facebook.react.uimanager.ViewManager.createView(ViewManager.java:83)
        at com.facebook.react.uimanager.NativeViewHierarchyManager.createView(NativeViewHierarchyManager.java:281)
        at com.facebook.react.uimanager.UIViewOperationQueue$CreateViewOperation.execute(UIViewOperationQueue.java:188)
        at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.dispatchPendingNonBatchedOperations(UIViewOperationQueue.java:1103)
        at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded(UIViewOperationQueue.java:1074)
        at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
        at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175)
        at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1106)
        at android.view.Choreographer.doCallbacks(Choreographer.java:866)
        at android.view.Choreographer.doFrame(Choreographer.java:792)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1092)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:226)
        at android.os.Looper.loop(Looper.java:313)
        at android.app.ActivityThread.main(ActivityThread.java:8663)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.exoplayer2.video.VideoListener" on path: DexPathList[[zip file "/data/app/~~3jB5HzSob76ihh2WMjKyug==/com.zoomtest-vE0-lXEuEPmHv8VWT9udVA==/base.apk"],nativeLibraryDirectories=[/data/app/~~3jB5HzSob76ihh2WMjKyug==/com.zoomtest-vE0-lXEuEPmHv8VWT9udVA==/lib/arm64, /data/app/~~3jB5HzSob76ihh2WMjKyug==/com.zoomtest-vE0-lXEuEPmHv8VWT9udVA==/base.apk!/lib/arm64-v8a, /system/lib64, /system/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)
        at com.brentvatne.exoplayer.ReactExoplayerView.createViews(ReactExoplayerView.java:226) 
        at com.brentvatne.exoplayer.ReactExoplayerView.<init>(ReactExoplayerView.java:202) 
        at com.brentvatne.exoplayer.ReactExoplayerViewManager.createViewInstance(ReactExoplayerViewManager.java:87) 
        at com.brentvatne.exoplayer.ReactExoplayerViewManager.createViewInstance(ReactExoplayerViewManager.java:28) 
        at com.facebook.react.uimanager.ViewManager.createViewInstance(ViewManager.java:139) 
        at com.facebook.react.uimanager.ViewManager.createView(ViewManager.java:83) 
        at com.facebook.react.uimanager.NativeViewHierarchyManager.createView(NativeViewHierarchyManager.java:281) 
        at com.facebook.react.uimanager.UIViewOperationQueue$CreateViewOperation.execute(UIViewOperationQueue.java:188) 
        at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.dispatchPendingNonBatchedOperations(UIViewOperationQueue.java:1103) 
        at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded(UIViewOperationQueue.java:1074) 
        at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29) 
        at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:175) 
        at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:85) 
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1106) 
        at android.view.Choreographer.doCallbacks(Choreographer.java:866) 
        at android.view.Choreographer.doFrame(Choreographer.java:792) 
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1092) 
        at android.os.Handler.handleCallback(Handler.java:938) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loopOnce(Looper.java:226) 
        at android.os.Looper.loop(Looper.java:313) 
        at android.app.ActivityThread.main(ActivityThread.java:8663) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) 
W/MediaSessionCompat: Couldn't find a unique registered media button receiver in the given context.
I/Sentry: Not possible to read external files directory
I/Process: Sending signal. PID: 23221 SIG: 9
cloudy-ninja commented 2 years ago

I just thought it may happen because the versions of exoplayer used in react-native-video and react-native-zoom-us are different. react-native-video: 2.13.2 react-native-zoom-us: 2.16.1

So I downgraded react-native-zoom-us to 6.8.1, which was using exoplayer v2.13.2. But unfortunately, build was failed with the following error

zoomtest: No implementation found for long com.zipow.videobox.sip.server.SIPCallEventListenerUI.nativeInit() (tried Java_com_zipow_videobox_sip_server_SIPCallEventListenerUI_nativeInit and Java_com_zipow_videobox_sip_server_SIPCallEventListenerUI_nativeInit__)
zoomtest: No implementation found for long com.zipow.videobox.sip.server.SIPCallEventListenerUI.nativeInit() (tried Java_com_zipow_videobox_sip_server_SIPCallEventListenerUI_nativeInit and Java_com_zipow_videobox_sip_server_SIPCallEventListenerUI_nativeInit__)
zoomtest: No implementation found for long com.zipow.videobox.sip.server.SIPCallEventListenerUI.nativeInit() (tried Java_com_zipow_videobox_sip_server_SIPCallEventListenerUI_nativeInit and Java_com_zipow_videobox_sip_server_SIPCallEventListenerUI_nativeInit__)
zoomtest: No implementation found for long com.zipow.videobox.sip.server.SIPCallEventListenerUI.nativeInit() (tried Java_com_zipow_videobox_sip_server_SIPCallEventListenerUI_nativeInit and Java_com_zipow_videobox_sip_server_SIPCallEventListenerUI_nativeInit__)
zoomtest: No implementation found for long com.zipow.videobox.sip.server.ISIPLineMgrEventSinkUI.nativeInit() (tried Java_com_zipow_videobox_sip_server_ISIPLineMgrEventSinkUI_nativeInit and Java_com_zipow_videobox_sip_server_ISIPLineMgrEventSinkUI_nativeInit__)
zoomtest: No implementation found for long com.zipow.videobox.sip.server.ISIPLineMgrEventSinkUI.nativeInit() (tried Java_com_zipow_videobox_sip_server_ISIPLineMgrEventSinkUI_nativeInit and Java_com_zipow_videobox_sip_server_ISIPLineMgrEventSinkUI_nativeInit__)
zoomtest: No implementation found for long com.zipow.videobox.sip.server.ISIPLineMgrEventSinkUI.nativeInit() (tried Java_com_zipow_videobox_sip_server_ISIPLineMgrEventSinkUI_nativeInit and Java_com_zipow_videobox_sip_server_ISIPLineMgrEventSinkUI_nativeInit__)
zoomtest: No implementation found for long com.zipow.videobox.sip.server.SIPCallEventListenerUI.nativeInit() (tried Java_com_zipow_videobox_sip_server_SIPCallEventListenerUI_nativeInit and Java_com_zipow_videobox_sip_server_SIPCallEventListenerUI_nativeInit__)
zoomtest: No implementation found for long com.zipow.videobox.sip.server.SIPCallEventListenerUI.nativeInit() (tried Java_com_zipow_videobox_sip_server_SIPCallEventListenerUI_nativeInit and Java_com_zipow_videobox_sip_server_SIPCallEventListenerUI_nativeInit__)
zoomtest: No implementation found for long com.zipow.videobox.sip.monitor.ISIPMonitorMgrEventSinkUI.nativeInit() (tried Java_com_zipow_videobox_sip_monitor_ISIPMonitorMgrEventSinkUI_nativeInit and Java_com_zipow_videobox_sip_monitor_ISIPMonitorMgrEventSinkUI_nativeInit__)
zoomtest: No implementation found for long com.zipow.videobox.sip.monitor.ISIPMonitorMgrEventSinkUI.nativeInit() (tried Java_com_zipow_videobox_sip_monitor_ISIPMonitorMgrEventSinkUI_nativeInit and Java_com_zipow_videobox_sip_monitor_ISIPMonitorMgrEventSinkUI_nativeInit__)
zoomtest: No implementation found for long com.zipow.videobox.sip.server.ISIPCallControlSinkUI.nativeInit() (tried Java_com_zipow_videobox_sip_server_ISIPCallControlSinkUI_nativeInit and Java_com_zipow_videobox_sip_server_ISIPCallControlSinkUI_nativeInit__)
zoomtest: No implementation found for long com.zipow.videobox.sip.server.ISIPCallControlSinkUI.nativeInit() (tried Java_com_zipow_videobox_sip_server_ISIPCallControlSinkUI_nativeInit and Java_com_zipow_videobox_sip_server_ISIPCallControlSinkUI_nativeInit__)
zoomtest: No implementation found for long com.zipow.videobox.sip.server.IPBXVideomailEventSinkUI.nativeInit() (tried Java_com_zipow_videobox_sip_server_IPBXVideomailEventSinkUI_nativeInit and Java_com_zipow_videobox_sip_server_IPBXVideomailEventSinkUI_nativeInit__)
zoomtest: No implementation found for long com.zipow.videobox.sip.server.IPBXVideomailEventSinkUI.nativeInit() (tried Java_com_zipow_videobox_sip_server_IPBXVideomailEventSinkUI_nativeInit and Java_com_zipow_videobox_sip_server_IPBXVideomailEventSinkUI_nativeInit__)
zoomtest: No implementation found for long com.zipow.videobox.sip.server.conference.ISIPConferenceEventSinkUI.nativeInit() (tried Java_com_zipow_videobox_sip_server_conference_ISIPConferenceEventSinkUI_nativeInit and Java_com_zipow_videobox_sip_server_conference_ISIPConferenceEventSinkUI_nativeInit__)
zoomtest: No implementation found for long com.zipow.videobox.sip.server.conference.ISIPConferenceEventSinkUI.nativeInit() (tried Java_com_zipow_videobox_sip_server_conference_ISIPConferenceEventSinkUI_nativeInit and Java_com_zipow_videobox_sip_server_conference_ISIPConferenceEventSinkUI_nativeInit__)
zoomtest: No implementation found for long com.zipow.videobox.sip.server.SIPCallEventListenerUI.nativeInit() (tried Java_com_zipow_videobox_sip_server_SIPCallEventListenerUI_nativeInit and Java_com_zipow_videobox_sip_server_SIPCallEventListenerUI_nativeInit__)
I/CameraManagerGlobal: Connecting to camera service
D/VendorTagDescriptor: addVendorDescriptor: vendor tag id 14172875900359437128 added
I/CameraManagerGlobal: Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client android.system API Level 2
I/CameraManagerGlobal: Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_CLOSED for client com.sec.android.app.camera API Level 2
I/CameraManagerGlobal: Camera 2 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client android.system API Level 2
I/CameraManagerGlobal: Camera 20 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client com.sec.android.app.camera API Level 2
I/CameraManagerGlobal: Camera 21 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client android.system API Level 2
I/CameraManagerGlobal: Camera 22 facing CAMERA_FACING_FRONT state now CAMERA_STATE_CLOSED for client android.system API Level 2
I/CameraManagerGlobal: Camera 23 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client android.system API Level 2
I/CameraManagerGlobal: Camera 3 facing CAMERA_FACING_FRONT state now CAMERA_STATE_CLOSED for client android.system API Level 2
I/CameraManagerGlobal: Camera 40 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client android.system API Level 2
I/CameraManagerGlobal: Camera 41 facing CAMERA_FACING_FRONT state now CAMERA_STATE_CLOSED for client android.system API Level 2
I/CameraManagerGlobal: Camera 50 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client android.system API Level 2
I/CameraManagerGlobal: Camera 51 facing CAMERA_FACING_FRONT state now CAMERA_STATE_CLOSED for client android.system API Level 2
I/CameraManagerGlobal: Camera 52 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client android.system API Level 2
I/CameraManagerGlobal: Camera 91 facing CAMERA_FACING_FRONT state now CAMERA_STATE_CLOSED for client com.samsung.android.bio.face.service API Level 2
A/zoomtest: java_vm_ext.cc:579] JNI DETECTED ERROR IN APPLICATION: JNI CallIntMethodV called with pending exception java.lang.SecurityException: getCallState: Neither user 10396 nor current process has android.permission.READ_PHONE_STATE.
    java_vm_ext.cc:579]   at java.lang.Exception android.os.Parcel.createExceptionOrNull(int, java.lang.String) (Parcel.java:2437)
    java_vm_ext.cc:579]   at java.lang.Exception android.os.Parcel.createException(int, java.lang.String) (Parcel.java:2421)
    java_vm_ext.cc:579]   at void android.os.Parcel.readException(int, java.lang.String) (Parcel.java:2404)
    java_vm_ext.cc:579]   at void android.os.Parcel.readException() (Parcel.java:2346)
    java_vm_ext.cc:579]   at int com.android.internal.telecom.ITelecomService$Stub$Proxy.getCallStateUsingPackage(java.lang.String, java.lang.String) (ITelecomService.java:2578)
    java_vm_ext.cc:579]   at int android.telecom.TelecomManager.getCallState() (TelecomManager.java:1912)
    java_vm_ext.cc:579]   at int android.telephony.TelephonyManager.getCallState() (TelephonyManager.java:6456)
    java_vm_ext.cc:579]   at void com.zipow.videobox.x.b.b.D() (ZmAudioStatusMgr.java:3)
    java_vm_ext.cc:579]   at void com.zipow.videobox.x.b.b.C() (ZmAudioStatusMgr.java:4)
    java_vm_ext.cc:579]   at void com.zipow.videobox.x.b.b.t() (ZmAudioStatusMgr.java:1)
    java_vm_ext.cc:579]   at void com.zipow.videobox.conference.jni.ZmConfDefaultCallback.initialize() (ZmConfDefaultCallback.java:2)
    java_vm_ext.cc:579]   at void com.zipow.videobox.mainboard.Mainboard.createConfAppForSdk(java.lang.String) (Mainboard.java:20)

Additionally, I tried this solution, but it didn't help me

mieszko4 commented 2 years ago

So I downgraded react-native-zoom-us to 6.8.1, which was using exoplayer v2.13.2. But unfortunately, build was failed with the following error

:thinking: Based on the log you need to give READ_PHONE_STATE permission:

A/zoomtest: java_vm_ext.cc:579] JNI DETECTED ERROR IN APPLICATION: JNI CallIntMethodV called with pending exception java.lang.SecurityException: getCallState: Neither user 10396 nor current process has android.permission.READ_PHONE_STATE.

Other than that. Have you tried solutions from https://github.com/mieszko4/react-native-zoom-us/blob/master/docs/TROUBLESHOOTING.md? E.g. disabling exoplayer?

cloudy-ninja commented 2 years ago

Yes, I tried, but if I disable exoplayer, then I get the error when joining the meeting

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.zoomtest, PID: 16584
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zoomtest/com.zipow.videobox.ConfActivityNormal}: android.view.InflateException: Binary XML file line #48 in com.zoomtest:layout/zm_conf_main_screen: Binary XML file line #48 in com.zoomtest:layout/zm_conf_main_screen: Error inflating class com.zipow.videobox.view.OnSilentView
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4035)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201)
        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:2438)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:226)
        at android.os.Looper.loop(Looper.java:313)
        at android.app.ActivityThread.main(ActivityThread.java:8663)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
     Caused by: android.view.InflateException: Binary XML file line #48 in com.zoomtest:layout/zm_conf_main_screen: Binary XML file line #48 in com.zoomtest:layout/zm_conf_main_screen: Error inflating class com.zipow.videobox.view.OnSilentView
     Caused by: android.view.InflateException: Binary XML file line #48 in com.zoomtest:layout/zm_conf_main_screen: Error inflating class com.zipow.videobox.view.OnSilentView
     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:533)
        at android.app.Activity.setContentView(Activity.java:3589)
        at com.zipow.videobox.ConfActivityNormal.onCreate(ConfActivityNormal.java:35)
        at android.app.Activity.performCreate(Activity.java:8290)
        at android.app.Activity.performCreate(Activity.java:8270)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4009)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201)
        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:2438)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:226)
        at android.os.Looper.loop(Looper.java:313)
        at android.app.ActivityThread.main(ActivityThread.java:8663)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
     Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/exoplayer2/Player$Listener;
        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:533) 
        at android.app.Activity.setContentView(Activity.java:3589) 
        at com.zipow.videobox.ConfActivityNormal.onCreate(ConfActivityNormal.java:35) 
        at android.app.Activity.performCreate(Activity.java:8290) 
        at android.app.Activity.performCreate(Activity.java:8270) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4009) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201) 
        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:2438) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loopOnce(Looper.java:226) 
        at android.os.Looper.loop(Looper.java:313) 
        at android.app.ActivityThread.main(ActivityThread.java:8663) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) 
E/AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.exoplayer2.Player$Listener" on path: DexPathList[[zip file "/data/app/~~l5ktncgkIMQmBzzCCjNttg==/com.zoomtest-L7kwqWDVC4sLfawTI-FASQ==/base.apk"],nativeLibraryDirectories=[/data/app/~~l5ktncgkIMQmBzzCCjNttg==/com.zoomtest-L7kwqWDVC4sLfawTI-FASQ==/lib/arm64, /data/app/~~l5ktncgkIMQmBzzCCjNttg==/com.zoomtest-L7kwqWDVC4sLfawTI-FASQ==/base.apk!/lib/arm64-v8a, /system/lib64, /system/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)
            ... 29 more
cloudy-ninja commented 2 years ago

react-native-zoom-us is working fine

cloudy-ninja commented 2 years ago

Hi @mieszko4 Finally I got it working I used react-native-video v5.2.0 and react-native-zoom-us v6.8.1

And what I did try:

I have one concern, can we do a second thing in the react-native-zoom-us package?

mieszko4 commented 2 years ago

I have one concern, can we do a second thing in the react-native-zoom-us package?

Based on https://devforum.zoom.us/t/is-read-phone-state-now-a-required-permission/64709/7, yes, we should do something about it. Thnx for pointing it out.

mieszko4 commented 2 years ago
  • Before joining a meeting, I needed to ask to get the permission for READ_PHONE_STATE

@cloudy-ninja I actually cannot reproduce this problem currently. The app is asking for READ_PHONE_STATE after joining the meeting. image

And it does not crash for me. I tried on LG and Samsung with Android 12.

mieszko4 commented 2 years ago

I added info about Android permissions - I hope that helps https://github.com/mieszko4/react-native-zoom-us/pull/214. Feel free to reopen the issue.