Conflicting Shared Object: libc++_shared.so

Description
I’m trying to integrate Zoom Video SDK into my application. after following the steps in the “Getting Started” section of the documentation, I faced this error

More than one file was found with OS independent path 'lib/arm64-v8a/libc++_shared.so

I have looked into the thread discussing this issue and tried all the proposed solutions.
I have deleted the libc++_shared.so file from all architecture folders inside mobilertc.aar then tried using SoLoader as explained.
In MyApplication:

   SoLoader.init(this, false)
   SoLoader.loadLibrary("zoom")

this reportedly worked for some people in the meeting SDK, but in my case, although the application compiles, I get the following error while trying to load the library using SoLoader

java.lang.UnsatisfiedLinkError: couldn’t find DSO to load: libzoom.so

Would you happen to have a solution for this? I’d really appreciate that, I have been trying to integrate the SDK for a while now.

note 1: I’m not using react native
note 2: If I only delete the libc++_shared.so from mobilertc.aar without using SoLoader I’d get this error

java.lang.UnsatisfiedLinkError: dlopen failed: library “libcmmlib.so” not found

at sdk.initialize(this, params)

Which Android Video SDK version?
v1.1.1 (8665.0812)

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

  1. Include the sdk in the project
  2. build the project
  3. See error

Smartphone (please complete the following information):

  • Device: All
  • OS: All

Hi @wbaroudi, thanks for using our SDK.

Sorry to hear you are also running into this issue. Have you tried the solution proposed in this response already?

Thanks!

Hi @jon.lieblich , thanks for your help!
Yes, I have tried that solution and I’m afraid it doesn’t work either.
it gives a much larger error log starting with:

JNI DETECTED ERROR IN APPLICATION: JNI NewGlobalRef called with pending exception java.lang.ClassNotFoundException: Didn’t find class “us.zoom.net.AndroidNetworkLibrary” on path:…

at sdk.initialize(this, params)

would you happen to know the cause of this?

I have tried. This willl only work with ZoomSDK. For Zoom Video SDK, it doesn’t work. I haven’t found any solution as welll. Hope that someone could help

Hi @ada We solved the problem. we copied the proguard-rules.pro file from the sample app and it worked.
add this to the packaging options in your gradle build:

packagingOptions {
    ...
    pickFirst '**/*.so'
}

add these to your proguard rules:


-keep class us.zoom**{
   *;
}
-keep interface us.zoom**{
   *;
}

-keep class org.webrtc**{
   *;
}

-keep class com.zipow**{
   *;
}

this fixed the initialization crash for me.
good luck!

That’s great to hear that this was resolved after adding those proguard rules!

1 Like

Hi @wbaroudi,

I added this in my React native module. I also added SoLoader as below:

SoLoader.init(this, false)
SoLoader.loadLibrary("zoom_tp")

It did help the crash issue, however, it couldn’t initialise the Video SDK and got timeout after few second.
You have implement this in your React Native project?

Oh no there’s no React Native involved in my case.
also, I didn’t end up using the SoLoader. So, if you want to try what worked for me, I did the following:

  1. Include the SDK as described in the documentation
  2. do the same steps in my previous reply

No deleting files from mobilertc, no SoLoader, nothing more, nothing less.

Hi @ada,

Unfortunately we do not currently support React Native, so we are limited in how much help we can provide with regards to build errors.

Thanks!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.