解决Android端libc++_shared.so库冲突问题

news2024/10/2 10:35:59

前言

        随着App功能增多,集成的so库也会增多,如果系统中多个so库都使用系统自动生成的libc++_shared.so库,如果多个SDK都有该so包,就会出现报错:

解决办法

        如果出现该问题,说明您的项目中有多个SDK共同依赖了C++标准动态库,请在您的主程序build.gradle中增加以下代码:

android {
    packagingOptions {
        pickFirst 'lib/*/libc++_shared.so'
    }
}

        在Android Gradle插件中,packagingOptions用于定义打包apk时的选项。其中,pickFirst是一个针对冲突解决的策略之一。

        具体来说,pickFirst用于指定在打包时遇到冲突时使用哪个文件。当打包过程中出现同名的文件时,如果指定了pickFirst,则会优先使用第一个找到的文件,而其他同名文件则会被忽略。

总结

        网上还有别的方案:删除SDK中的libc++_shared.so文件,这种方式完全不可取,删除后会造成SDK无法编译,或者第三方SDK高度集成的根本无法删除,所以本解决方案才是最可取的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1241372.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《微信小程序开发从入门到实战》学习二十五

3.3 开发创建投票页面 3.3.13 使用页面路径参数 写了很多重复代码,现在想办法将多选和单选投票页面合二为一。 将单选页面改造作为单选多选共同页面。 修改index.js中的代码,将路径都跳转到第一个单选页面,带上单选或多选的标志&#xff…

【搜维尔科技】产品推荐:Virtuose 6D RV,大型工作空间触觉设备

Virtuose 6D RV为一款具有大工作空间并在所有6自由度上提供力反馈的触觉设备,设计专用于虚拟现实环境,特别适合于大型虚拟物体的处理。 Virtuose 6D RV是当今市场上唯一将高工作效率与高工作量相结合在一起的产品。6D RV特别适合于缩放与操纵等应用&…

CentOS 7 使用cJSON 库

什么是JSON JSON是一种轻量级的数据交换格式,可读性强、编写简单。键值对组合编写规则,键名使用双引号包裹,冒号:分隔符后面紧跟着数值,有两种常用的数据类型是对象和数组。 对象:使用花括号{}包裹起来的…

[Android]使用Retrofit进行网络请求

以下是使用 Retrofit 发送 POST 请求获取分页城市列表的 Kotlin 代码示例 1.在你的 build.gradle 文件中添加 Retrofit 和 Gson 的依赖 dependencies {......implementation("com.squareup.retrofit2:retrofit:2.9.0")implementation("com.squareup.retrofit2…

解锁电力安全密码:迅软DSE助您保护机密无忧

电力行业信息化水平不断提高,明显提升了电力企业的生产运营能力,然而随着越来越多重要信息存储在终端计算机中,电力面临的信息安全挑战也越来越多。 作为关键基础设施的基础,电力企业各部门产生的资料文档涵盖着大量机密信息&…

C++数组中重复的数字

3. 数组中重复的数字 题目链接 牛客网 题目描述 在一个长度为 n 的数组里的所有数字都在 0 到 n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 Input: {2, 3, 1, 0, 2, 5}Output: 2解题…

启发式搜索算法-人工智能

第1关:评估函数和启发信息 第2关:A*搜索算法 class Array2D:"""说明:1.构造方法需要两个参数,即二维数组的 宽和高2.成员变量w和h是二维数组的宽和高3.使用:‘对象[x][y]’可以直接取到相应的值4.数组的默认值都是0"""def __init__(s…

SpringBoot + 通义千问 + 自定义React组件,支持EventStream数据解析!

一、前言 大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 最近ChatGPT非常受欢迎,尤其是…

接口传参数list的时候,items里面放个​​​​​​​list

item里面放个list 先定义一个 list,循环add加入参数

如何用CHAT解释文章含义?

问CHAT:解释“ 本身乐善好施,令名远近共钦,待等二十左右,定有高亲可攀;而且四德俱备,帮夫之缘亦有。主持家事不紊,上下亦无闲言。但四十交进,家内谨防口舌,须安家堂&…

基于C#实现Bitmap算法

在所有具有性能优化的数据结构中,我想大家使用最多的就是 hash 表,是的,在具有定位查找上具有 O(1)的常量时间,多么的简洁优美,但是在特定的场合下: ①:对 10 亿个不重复的整数进行排序。 ②&am…

2023年度openGauss标杆应用实践案例征集

标杆应用实践案例征集 2023 openGauss 数据库作为企业IT系统的核心组成部分,是数字基础设施建设的关键,是实现数据安全稳定的保障。openGauss顺应开源发展趋势,强化核心技术突破,着力打造自主根社区,携手产业伙伴共同…

手把手教你通过CODESYS V3进行PLC编程(二)

教程背景 在上一期教程中,我们已经完成了控制器设备的连接和配置。接下来的教程将继续以宏集MC-Prime为例,假设控制器已经配置并连接到开发者的PC上,为您演示如何为控制器安装合适的CODESYS V3版本并创建第一个程序。 一、安装CODESYS &…

冷链运输车辆GPS定位及温湿度管理案例

1.项目背景 项目名称:山西冷链运输车辆GPS定位及温湿度管理案例 项目需求:随着经济发展带动物流行业快速发展,运输规模逐步扩大,集团为了适应高速发展的行业现象,物流管理系统的完善成了现阶段发展的重中之重。因此&…

FDG6306P PowerTrench® MOSFET P沟道 特点及其应用详解

关于PowerTrench MOSFET? 它是一种MOS场效应晶体管,可以提高系统效率和功率密度。该技术采用了屏蔽栅极技术,可以减少开关损耗和导通损耗,从而提高了系统效率。此外,PowerTrench MOSFET还具有低导通电阻和高开关速度的…

史上最细教程-一台服务器上搭建2个MySQL实例

史上最细教程-一台服务器上搭建2个MySQL实例 文章目录 史上最细教程-一台服务器上搭建2个MySQL实例环境准备:操作步骤:1.安装MySQL2.配置搭建3306、3307实例3.初始化3306、3307实例、远程连接访问支持 环境准备: 服务器:阿里云Ce…

斯坦福大学引入FlashFFTConv来优化机器学习中长序列的FFT卷积

斯坦福大学的FlashFFTConv优化了扩展序列的快速傅里叶变换(FFT)卷积。该方法引入Monarch分解,在FLOP和I/O成本之间取得平衡,提高模型质量和效率。并且优于PyTorch和FlashAttention-v2。它可以处理更长的序列,并在人工智能应用程序中打开新的可…

【网络】数据链路层协议

数据链路层协议 一、链路层解决的问题二、以太网协议1、局域网技术2、令牌环网(了解)3、以太网通信原理4、 MAC地址5、以太网帧格式6、碰撞避免7、最大传输单元MTU 二、ARP协议1、ARP数据的格式2、ARP协议的工作流程3、ARP缓存表4、ARP协议中的一些问题7…

力控软件与多台PLC之间ModbusTCP/IP无线通信

Modbus TCP/IP 是对成熟的 Modbus 协议的改编, 因其开放性、简单性和广泛接受性而在工业自动化系统中发挥着举足轻重的作用。它作为连接各种工业设备的通用通信协议,包括可编程逻辑控制器 (PLC)、远程终端单元 (RTU) 和传感器。它提供标准化的 TCP 接口&…

从零开始,用Docker-compose打造SkyWalking、Elasticsearch和Spring Cloud的完美融合

🎏:你只管努力,剩下的交给时间 🏠 :小破站 "从零开始,用Docker-compose打造SkyWalking、Elasticsearch和Spring Cloud的完美融合 前言准备工作编写docker-compose.yml文件为什么使用本机ip为什么skywa…