默认
发表评论 0
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
Libc++_shared.so 标准库常见问题处理方案
"项目中依赖了 libc++_shared.so,在编译时会与融云 SDK 中依赖的 libc++_shared.so 发生冲突。(https://www.rongcloud.cn/?utm_source=SEO

报错堆栈

2 files found with path 'lib/arm64-v8a/libc++_shared.so' from inputs:
- /{path1}/jni/arm64-v8a/libc++_shared.so  
- /{path2}/transformed/jetified-im_libcore-5.x.x/jni/arm64-v8a/libc++_shared.so
path1 和 2 代表冲突路径,是由于项目与融云SDK中同时引入了 libc++_shared.so,导致冲突。

解决方案
方案一
项目中去掉libc++_shared.so;

在 build.gradle 添加如下代码做去重:

   packagingOptions {
        pickFirst('lib/armeabi-v7a/libc++_shared.so')
        pickFirst('lib/arm64-v8a/libc++_shared.so')
        pickFirst('lib/x86/libc++_shared.so')
        pickFirst('lib/x86_64/libc++_shared.so')
    }
方案二(SDK 版本大于等于 5.6.1)
如果融云 SDK 中的 libc++_shared.so 不满足项目要求,并且需要剔除融云SDK中的 libc++_shared.so,使用此方案。

依赖融云 SDK 时,按照exclude方式排除 libc++_shared.so,如下:

implementation (""cn.rongcloud.sdk:im_lib:x.y.z"")  {
exclude group: 'cn.rongcloud.sdk', module: 'cpp_shared'
}

// 如不使用Kit SDK,则下面代码可以不添加
implementation (""cn.rongcloud.sdk:im_kit:x.y.z"")  {
exclude group: 'cn.rongcloud.sdk', module: 'cpp_shared'
}"


即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

上一篇:各平台的音视频业务都需要在开发者后台开通哪些服务?下一篇:群组多人音视频通话过程中,可以邀请他人或申请加入吗?
推荐方案
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部