立即注册 登录
即时通讯网 返回首页

Ryun的个人空间 http://www.52im.net/?28523 [收藏] [复制] [RSS]

日志

Libc++_shared.so 标准库常见问题处理方案

已有 1382 次阅读2023-08-17 17:58 |个人分类:IM知识

"项目中依赖了 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'
}"

0 推荐

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

返回顶部