Android app not running after creating a build throwing exception java.lang.ClassNotFoundException: Didn't find class "com.zipow.cmmlib.AppUtil"

Description
I have integrated the Zoom Client Sdk for android following official docs (https://marketplace.zoom.us/docs/sdk/native-sdks/android/build-an-app), and the app works just fine if I run it using Android Studio (4.2) on my phone but when I create a signed build and install it on my phone the app is throwing exception java.lang.ClassNotFoundException: Didn’t find class "com.zipow.cmmlib.AppUtil"

Which Android Client SDK version?
v5.5.1.1319 : Latest

To Reproduce(If applicable)
Steps to reproduce the behavior:

  1. Create an app by referring : https://marketplace.zoom.us/docs/sdk/native-sdks/android/build-an-app
  2. Create a signed build
  3. Install it on your phone
  4. App will throw: java.lang.ClassNotFoundException: Didn’t find class “com.zipow.cmmlib.AppUtil”

Smartphone (please complete the following information):

  • Device: Motorola G5 S Plus
  • OS: Android Version 8.1

Additional context
2021-06-07 20:31:19.624 4239-4239/com.example.basicdemoapp A/zygote: java_vm_ext.cc:553] JNI DETECTED ERROR IN APPLICATION: JNI NewGlobalRef called with pending exception java.lang.ClassNotFoundException: Didn’t find class “com.zipow.cmmlib.AppUtil” on path: DexPathList[[zip file “/data/app/com.example.basicdemoapp==/base.apk”],nativeLibraryDirectories=[/data/app/com.example.basicdemoapp==/lib/arm, /data/app/com.example.basicdemoapp==/base.apk!/lib/armeabi-v7a, /system/lib, /system/vendor/lib]]

Hi @arifkhn46, thanks for the post.

Am I correct in assuming you are using proguard in your project? If so, you should be able to resolve this issue by adding the following rules to your proguard config:

-keep class  us.zoom.**{*;}
-keep class  com.zipow.**{*;}
-keep class  us.zipow.**{*;}
-keep class  org.webrtc.**{*;}
-keep class  us.google.protobuf.**{*;}
-keep class  com.google.crypto.tink.**{*;}
-keep class  androidx.security.crypto.**{*;}

Thanks!

Thanks! @jon.lieblich the provided solution works. I did not found this in the official docs, and if it isn’t there then it should be mentioned.

I was wondering does it impact the app size, any thoughts?

Glad to hear it’s working!

We can definitely consider adding this to our existing documentation, thank you for the suggestion. :slightly_smiling_face: