Zoom android sdk integration in android dynamic feature module

@carson.zoom Is there an update for the dynamic-feature-module. Any documentation or such, The app size is too big just because of the SDK, any other alternative we can use?

@sa159871, unfortunately I do not have any update regarding the dynamic feature module. If you would like to reduce the size of the SDK, you may add abiFilters in your build.gradle to remove the unused files for the different CPU architectures.

Can you find solution for dynamic feature add for zoom

Hi @rsarvesh.199,

The Android SDK currently does not support dynamic feature module. Thanks!

Have you found any solution ?

This is a known issue with android Dynamic Feature modules. See this related StackOverflow question.

The zoom SDK uses styles that are unknown to your base module.

As a workaround, do the following:

  1. go to your main app module
  2. Create a styles.xml file (if you don’t have one already) in the res/values folder
  3. Add the missing style declarations, so your file looks like this:
<resources>
    ...

    <!-- Fix manifest merge issues since the dynamic delivery module uses styles which are not
    defined in the base app module -->
    <style name="ZMTheme"></style>
    <style name="ZMTheme.Transparent"></style>
    <style name="ZMTheme.SubWindow"></style>
    <style name="ZMDialog"></style>
    <style name="ZMDialog.Transparent"></style>

    ...
</resources>

  1. Add the following missing string resource to /res/values/strings.xml as well
<string name="zm_app_name"></string>

Your project should now work again.

Thank you for your reply. Theme issue has been resolved, but another issue is coming when initialize zoom SDK into Dynamic module
android.content.res.Resources$NotFoundException: Resource ID #0x0

Hi @bhaveshj,

Thanks for the reply. The Zoom SDK does not support Android Dynamic Feature Module.

Thanks!

Is there any update regarding Dynamic delivery as it is supposed to be the best possible alternate to reduce the app size.

Hi @abhinavkhajuria72,

Please see my previous response to your question here.

Thanks!

Ah, yes this is a problem with how the zoom sdk tries to access some raw resources. Zoom SDK tries to access the resources by looking them up with the package name of the main app module. However, the resources are in the separate dynamic feature module. The only workaround I found is to extract the raw resources (around 450 KB) and copy them in the main app module like this:

  1. Unzip the mobilertc.aar file
  2. Copy the content of the mobilertc\res\raw folder into your apps raw folder (for example: app\res\raw)

This is hacky. When zoom updates their SDK, we need to make sure to repeat this copy step again. But it allows us to save space and install the rest of the zoom SDK only when it’s required.

1 Like

Farbklex, thanks for replying.
This perfectly works when you install the app as app.apk
Request you to try the below case, it fails in the specific case, when i try to test this functionality by internal app sharing on Google play store. The resources are again missing on
zoomSDK.initialize(this, this, initParams);
when you try to launch the zoom second time in your app after the sdk is downloaded by Dynamic Feature Delivery, the below logs appear after an ANR and a crash each time.
If and only if you remove the app or kill the app during the call (only happens in case of bundle app via dynamic delivery not in case of app.apk)

No package ID 7e found for ID 0x7e0d029d.
No package ID 7e found for ID 0x7e020003.
JNI DETECTED ERROR IN APPLICATION: JNI CallStaticObjectMethodV called with pending exception android.content.res.Resources$NotFoundException: String array resource ID #0x7e020003
at java.lang.String android.content.res.Resources.getStringArray(int) (Resources.java:597)
at java.lang.String android.content.res.MiuiResources.getStringArray(int) (MiuiResources.java:160)
at boolean us.zipow.mdm.ZMMdmManager.refreshPolicy() (ZMMdmManager.java:119)
at int com.zipow.videobox.mainboard.Mainboard.initMainboard(java.lang.String, java.lang.String, byte, java.lang.String, int) (Mainboard.java:-2)
at void com.zipow.videobox.mainboard.Mainboard.initialize(java.lang.String, boolean, int, boolean) (Mainboard.java:247)
at void com.zipow.videobox.VideoBoxApplication.initSDKMainboard(boolean, int, int, boolean) (VideoBoxApplication.java:2253)
at void com.zipow.videobox.VideoBoxApplication.initAppForSDK(boolean, int, int, boolean) (VideoBoxApplication.java:2235)
at void com.zipow.videobox.VideoBoxApplication.onSDKCreated(boolean, int, int, boolean) (VideoBoxApplication.java:2193)
at void com.zipow.videobox.VideoBoxApplication.initializeForSDK(android.content.Context, boolean, int, int, boolean) (VideoBoxApplication.java:2170)
at void us.zoom.sdk.ZoomSDK.initialize(android.content.Context, us.zoom.sdk.ZoomSDKInitializeListener, us.zoom.sdk.ZoomSDKInitParams) (ZoomSDK.java:454)
… and so on …

Hi Farbklex,

I tried using all the steps you mention to add zoom sdk in the dynamic feature but it still gives an error and gets stuck and not able to init ZoomSDK.
Even when try to install apk it gives error java.lang.ClassNotFoundException: Didn’t find class “**Activity"on path: : DexPathList.
Do you have any other work around or suggestion, what might be wrong?

It wont work, i have been trying since last 4 months. Zoom doesn’t support dynamic feature delivery and also haven’t given any date since when will they start supporting or even is it there in priority? No clear reply or response…

Hi @abhinavkhajuria72,

We apologize for any confusion, but we do not currently have plans to support dynamic modules for the Android SDK. We will let you know if this changes.

Thanks!

Any updates on this so far ? Does zoom now support dynamic delivery for Android ?

Hi @ativsoftware,

We still do not have any plans to add support for dynamic modules in the future.

Thanks!

Were you able to figure this out? Even I’m getting the same issue.

Hi @ashutosh.singh,

The Android SDK still does not have plans to add support for dynamic modules.

Thanks!

Any updates on this so far? Does zoom now support dynamic delivery for Android?