NoSuchMethodError: No static method BottomSheetScaffold Jetpack compose library conflict

After updating the Android Zoom SDK to version 6.1.5 the application is crashing when trying to add a background

Which Android Meeting SDK version?
6.1.5

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

  1. Go to join a meeting
  2. On the video preview, click on button to select a background
  3. Application crash with following error java.lang.NoSuchMethodError: No static method BottomSheetScaffold

Screenshots
Error when trying to add a screenshot

Troubleshooting Routes
I’ve made sure to update build.gradle dependencies with provided dependencies from mobilertc folder. Looking more into it, i’ve tried different version of com.google.android.material:material which the contains the BottomSheetScaffold class but the crash persist

Smartphone (please complete the following information):

  • Device: Pixel 8
  • OS: Android 14

I believe this issue is cause by dependencies conflict. Zoom require material3 version to be 1.1.1 but we are using other libraries (stripe for example) that use a more recent version of the library. I’ve tried several things but i’m not able to force the version for Zoom only. Downgrading other libraries version created more crash

@donte.zoom @chunsiong.zoom I’ve created a new ticket since the original one

is closed.
Can you help with that?

@florian.denu ,

Thanks for following up on this. Can you confirm if the crash is happening when you use the sample app or the updated version of your app? If it’s the latter, I recommend testing with the sample app. It’s possible something was missed or not changed as expected during the upgrade. It’s always good to validate whether the app is working by using the sample app and then referencing it to make the necessary changes in your app.

@donte.zoom

Thank you for your suggestion. The issue doesn’t occur with the sample app but arises when integrating the SDK into our app, which uses Jetpack Compose with newer library versions. The crash seems to stem from a conflict between library versions, where Gradle is applying the latest Jetpack Compose version across the board, including to the Zoom SDK, leading to incompatibility. We have other libraries, such as Intercom and Stripe, that also rely on the latest Jetpack Compose version, and unfortunately, we can’t enforce a specific version just for the Zoom SDK.

@florian.denu,

Are you able to share a screen of the crash and the logs? I am happy to share this feedback with the team. Please also the following details:

  1. What version of the Jetpack Compose library are you using?
  2. What have you tried to fix the version compatibility issue?
  3. Did the latest version of the Jetpack Compose library work for the previous integration?

Hi @donte.zoom,

Thank you for your assistance with this issue.

Unfortunately, I cannot attach a video of the crash directly to this ticket, so I’ve provided it via Google Drive instead: Crash Video
It’s not showing on the video, but the crash happen when i click on the top left icon to set a virtual background

Here is the screenshot of the crashlog

Issue Summary:

  1. We are using BOM for Jetpack Compose (androidx.compose:compose-bom:2024.06.00), and the library causing the issue is material3. Zoom is requesting material3 version 1.1.1, but the BOM and other libraries are using material3 version 1.2.1.

Zoom Dependency Tree:

  +--- androidx.compose.material3:material3:1.1.1 -> 1.2.1 (*)
|    +--- androidx.compose.material3:material3-window-size-class:1.1.1 -> 1.2.1
|    |    \--- androidx.compose.material3:material3-window-size-class-desktop:1.2.1
|    |         \--- androidx.compose.material3:material3:1.2.1 (c)
  1. We attempted to resolve this by using Gradle resolutionStrategy to request the specific version of material3 (1.1.1), but this introduced crashes in other libraries such as Stripe and Intercom. Downgrading these libraries is not feasible, as it would result in the loss of features currently in use.
  2. It appears that Jetpack Compose was introduced in Zoom’s Meeting SDK starting with version v6.0.2.21328. We experience crashes when updating to this version or above. The latest stable version we can use without encountering this issue is Meeting SDK version v5.17.11.20433, which does not include Jetpack Compose.

Here is the link to the Intercom SDK documentation for your reference.

Thank you for sharing this information, @florian.denu! I will share this with the team and get back to you.

1 Like

Hello @donte.zoom,

I hope you’re doing well. I wanted to follow up on this issue. Since Zoom is enforcing minimum SDK versions soon, we have to update our SDK accordingly. We want to ensure we can do this without encountering the issue we previously discussed.

Do you have any updates on this?

Thanks for your help!

Thanks for tagging me, @florian.denu! I’ve received feedback on this issue. You have two options:

  1. Migrate to a different version of the conflicting library that uses the same version of Compose.
  2. Wait until we release a new version in the future.

It’s worth noting that most of these dependencies are declared by the Zoom client, so the SDK may not have control over the version of Compose we require.

I’ve created an internal ticket (ZS-141334) to track this edge case. Please let me know if you have any feedback you’d like shared with the team.