java.lang.UnsatisfiedLinkError has been throwed When initialize ZoomSDK

My phone is HUAWEI Honor 8 Lite PRA-AL00 ,Android version is 7.0,

the Exception Detail is:

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/com.emrubik.mox-1/base.apk”],nativeLibraryDirectories=[/data/app/com.emrubik.mox-1/lib/arm64, /data/app/com.emrubik.mox-1/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64, /system/vendor/lib64, /product/lib64]]] couldn’t find “libzoom_stlport.so”
at java.lang.Runtime.loadLibrary0(Runtime.java:989)
at java.lang.System.loadLibrary(System.java:1533)
at com.zipow.cmmlib.AppContext.<clinit>(AppContext.java:31)
at com.zipow.cmmlib.AppContext.initialize(AppContext.java:64)
at us.zoom.sdk.ZoomSDK.initialize(ZoomSDK.java:227)
at us.zoom.sdk.ZoomSDK.initialize(ZoomSDK.java:186)

What wrong with it,and how to solve it?

Now zoom sdk only provide libraries for armeabi-v7a and above.  If your app contains other binary files that target on arm64 

, you should delete those files to remain only ARM targets to run zoom sdk.

Thanks.

Thank you for you answer,I use abiFilters to solve it.

I’m also getting the same issue and i have opened a new issue. kindly reply there how to solve this issue.

https://github.com/zoom/zoom-sdk-android/issues/28

This is the issue i created.

Hi I am facing similar issue while integrating zoom SDK with android app. Previously it was working fine and had no issue,but google intorduced some 64 - bit requirement https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for-64-bit.html. When i try to add abi filter for 64 bit i.e. arm64-v8a it crashes in my device. Below is some stack trace:

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/com.xxxx.xxxx-gLeXT5pYybpwHul_EMpV0g==/base.apk”],nativeLibraryDirectories=[/data/app/com.xxxx.xxxxx-gLeXT5pYybpwHul_EMpV0g==/lib/arm64, -gLeXT5pYybpwHul_EMpV0g==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64, /product/lib64]]] couldn’t find “libzoom_stlport.so”
at java.lang.Runtime.loadLibrary0(Runtime.java:1011)
at java.lang.System.loadLibrary(System.java:1660)
at com.zipow.cmmlib.AppContext.(AppContext.java:31)
at com.zipow.cmmlib.AppContext.initialize(AppContext.java:64)
at us.zoom.sdk.ZoomSDK.initialize(ZoomSDK.java:305)
at us.zoom.sdk.ZoomSDK.initialize(ZoomSDK.java:236)
at com.meditation.live.zoom.ZoomMainActivity.onCreate(ZoomMainActivity.java:93)
at android.app.Activity.performCreate(Activity.java:7383)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1218)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3256)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3411)
at android.app.ActivityThread.-wrap12(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1994)
at android.os.Handler.dispatchMessage(Handler.java:108)
at android.os.Looper.loop(Looper.java:166)
at android.app.ActivityThread.main(ActivityThread.java:7529)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)

Any help regarding the same will be appreciated.

Thanks
Arun

Hi Arun,

Thanks for using Zoom SDK. Currently, we do not have 64-bit support for the Android SDK. Please see the announcement ([Valid before 08/01/2019] Zoom Android SDK 64-bit support). If you are seeing this error with the non 64-bit environment, please double check whether you have imported our libraries correctly by following the doc: https://marketplace.zoom.us/docs/sdk/native-sdks/android/getting-started/integration

Let me know if you have any other questions. Thanks!

Thanks I’ll check and update you soon

I have updated new zoom SDK but seems like its taking lot of size (37.6 MB) mobilertc.aar file.
Please let me know if I can reduce the size a bit or I am doing something wrong.
I am using these abifilters in gradle

ndk {
abiFilters “armeabi-v7a”, “x86”, “armeabi”, “mips”,“arm64-v8a”,“x86_64”
}

Hi goyal.arun16,

Thanks for using Zoom SDK. For the NDK abiFilters that you have mentioned. We do not have anything for “armeabi”, “mips”,“arm64-v8a”,“x86_64” so adding them or delete them won’t have any effects. x86 is for the emulators, if you remove that, you can get rid of around 17MB. The final footprint can be reduced to 20MB if you just keep the armeabi-v7a.

Hope this helps. Thanks!

Thanks, it reduced the size but when uploading on play store showing me warning message :
This release is not compliant with the Google Play 64-bit requirement

The following APKs or App Bundles are available to 64-bit devices, but they only have 32-bit native code: 103.

From August 1, 2019 all releases must be compliant with the Google Play 64-bit requirement.

Include 64-bit and 32-bit native code in your app. Use the Android App Bundle publishing format to automatically ensure that each device architecture receives only the native code it needs. This avoids increasing the overall size of your app.

below is from my gradle file

ndk {
        abiFilters "armeabi-v7a",  "arm64-v8a"
    }
    packagingOptions {
        exclude "lib/arm64-v8a/libimagepipeline.so"
    }

Please explain how to resolve this issue and its has taken my lot of time.
Can you share what should in gradle for this.

Hi,
Thanks for the reply. We do not have 64-bit support in our Android SDK. Please see the pinned announcement in this forum: [Valid before 08/01/2019] Zoom Android SDK 64-bit support

If you exclude the “arm64-v8a”, it should work as expected.

Thanks!

Thanks for the confirmation, still getting an alert showing on playstore :-

Your app contains an unsafe unzipping pattern that may lead to a Path Traversal vulnerability. Please see this Google Help Center articleto learn how to fix the issue.

Vulnerable locations:

*** us.zoom.androidlib.util.FileUtils.unzipFile**

Affects APK version 1 .

Can you please help me in this

Hi,
Thanks for the reply and the information. Yes, we have aware of this alert from Google PlayStore as well and we are working on it. This issue should be fixed and include in the next release along with the 64-bit support. Pardon the inconvenience.

Thanks!

Thanks Carson for update.

Hi Arun,

Thanks for the reply. We have just released our new Android SDK that has 64-bit support. Please visit our Github repo to download the latest version of SDK:https://github.com/zoom/zoom-sdk-android/releases/latest

Let me know if you have any questions. Thanks!

Happy Zooming!

Thanks Carson I’ll update SDK soon and let you know in case any difficulty.
Meanwhile can you can tell does we need to add abifilter in new SDK. If yes can help in abifilters

Thanks

One more thing I want to know if I need to handle onbackpressed method in ZoomMainActivity, what should I do ? I tried to handle but seems not working, actually I need to leave meeting on back press.
Is there any setting for that ?

Thanks

Hi Arun,

Thanks for the reply. Our sample app has a similar implementation:https://github.com/zoom/zoom-sdk-android/blob/master/mobilertc-android-studio/sample/src/main/java/us/zoom/sdksample/ui/LoginUserStartJoinMeetingActivity.java#L288, you can change the behavior to https://zoom.github.io/zoom-sdk-android/us/zoom/sdk/InMeetingService.html#leaveCurrentMeeting-boolean-.

Hope this helps. Thanks!

Hi Carson,

I am using the same way as in demo

@Override
public void onBackPressed() {
if (ZoomSDK.getInstance().isLoggedIn()) {
Log.d(this.getClass().getName(), "back pressed ::: ");
} else {
super.onBackPressed();
}
}

but its not getting called.it automatically take zoom screen to background instead of log I have put.

FYI I am using webinar not meeting, if for that I need to change something.
When I try to implement onBackPress handling in your sample provided

@Override
onBackPress() not getting called.