融云IM干货丨Libc++_shared.so 标准库常见问题处理方案

融云IM即时通讯
• 阅读 314

​ 针对libc++_shared.so标准库的常见问题,以下是一些处理方案:

在build.gradle中添加去重代码,以确保不会重复包含libc++_shared.so文件。例如:

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') }

这种方法适用于项目中不需要libc++_shared.so,或者可以通过其他方式解决库依赖的情况。

如果SDK版本大于等于5.6.1,可以在依赖SDK时通过exclude方式排除libc++_shared.so。例如:

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

这样可以确保不会从SDK中引入不需要的libc++_shared.so,避免冲突。

确保所有应用程序和第三方库都链接到相同的libc++版本,以避免版本不一致导致的冲突。

如果应用程序与系统版本不匹配,请更新系统库以匹配应用程序使用的版本。

如果无法更新系统库,可以使用ABI(应用程序二进制接口)兼容的libc++版本。

使用动态链接可以避免符号冲突,因为应用程序仅在运行时加载所需的库版本。

通过在应用程序的私有目录中隔离libc++库,可以防止它与系统库冲突。

确保NDK版本与目标Android平台兼容,并在构建文件中明确指定libc++版本。

在CMake或Gradle构建文件中启用动态链接或指定libc++版本。

如果以上方案都无法解决问题,可以尝试使用GNU libstdc++或其他C++库来代替。 这些方案可以帮助解决libc++_shared.so标准库的常见问题,具体使用哪种方案需要根据项目的具体情况和需求来决定。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
3年前
PPDB:今晚老齐直播
【今晚老齐直播】今晚(本周三晚)20:0021:00小白开始“用”飞桨(https://www.oschina.net/action/visit/ad?id1185)由PPDE(飞桨(https://www.oschina.net/action/visit/ad?id1185)开发者专家计划)成员老齐,为深度学习小白指点迷津。
Peter20 Peter20
3年前
mysql中like用法
like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
融云IM即时通讯 融云IM即时通讯
2个月前
融云IM干货丨Token 续期的常见技术方案有哪些?
融云IM干货丨Token续期的常见技术方案有哪些?
融云IM即时通讯 融云IM即时通讯
1个月前
融云IM干货丨如何检测项目中是否重复包含libc++_shared.so?
​检测项目中是否重复包含libcshared.so可以通过以下几个步骤进行:androidpackagingOptionspickFirst'lib/armeabiv7a/libcshared.so'pickFirst'lib/arm64v8a/l
融云IM即时通讯
融云IM即时通讯
Lv1
北京云中融信网络科技有限公司(简称“融云”),是全球互联网通信云服务领创品牌。2014 年由创下亿级日活神话的“飞信”核心团队组建而成,依托沉淀近 20 年的领先技术基因,开创性地将通信技术封装为 SDK 提供给开发者和企业用户,大幅降低了行业对通信功能开发的难度和成本。 自成立以来,融云专注于向开发者和企业提供专业、简单、稳定的即时通讯和实时音视频 PaaS 服务。凭借产品、技术、服务等多方面优势,融云收获了超 80 万开发者和 2200+ 国家政府机关、企事业单位的青睐,支撑起 155 万+ 应用的通信需求,覆盖社交、娱乐、游戏、教育、电商、医疗等各行业场景,并打造出一系列中企出海最佳实践案例。 在全球范围内,融云构建了一张覆盖 245 个国家及地区的通信云网络,设立了多个海外数据中心以及数千加速节点,稳定互联,确保跨地域通信体验更加流畅。基于客户业务需求,融云可提供公有云、私有云、混合云等多种部署模式。 权威咨询机构“艾瑞咨询”数据报告显示,融云即时通讯云市场份额已连续多年稳居第一。
文章
184
粉丝
0
获赞
0