Android引包出现Duplicate class com.xxx.xxx found in modules错误
方法一:改依赖库的版本
其实就是依赖的包版本不一样,产生了冲突,把所有依赖的库改成版本一致的就可以了。
注意:如果有多个library的引用,并且各自引入了 so库文件,编译时发生了so重复引入的问题,可以去掉其中一个分支的so文件的编译。
方法二:exclude aar中的jar包
场景一
要移除的jar包不在aar包中的classes.jar中
直接把aar包里的Jar打包的时候给去掉,就像下面这这样。注意,要使用exclude module这种方式,直接使用exclude group方式没有效果。exclude group的方法适用于exclude JAR包中的文件。
implementation(name: '×××××××aar包', ext: 'aar') {exclude module: 'gson'}
场景二
要移除的jar包在aar包中的classes.jar中
这个时候,使用exclude方法已经不能生效了。你可以使用下面的通用方法,jar包也是这么处理
解压aar文件到tmpDir目录下
unzip ×××.aar -d tmpDir
找到classes.jar包,用压缩工具打开,删除目标文件
将tmpDir重新打包成一个新的aar
jar cvf ×××NewLib.aar -C tmpDir/ .
**补充:**我在Ubuntu下直接使用压缩工具打开aar包,然后删除其中的重复的文件,这个方法也是可行的。
方法三:compileOnly,只编译不打包
这个方法只能解决编译打包的问题,但是项目也无法调用该依赖中的资源,如果调用,会报错。
参考:
Android引包出现Duplicate class com.xxx.xxx found in modules错误_哎吆我呸的博客-CSDN博客
gradle 几种依赖命令及文件冲突或包冲突_lfz2738942的博客-CSDN博客_gradle 依赖命令
Android Studio 引入Jar包,Jar包冲突问题总结_code豆腐的博客-CSDN博客
Android引包出现Duplicate class com.xxx.xxx found in modules错误相关推荐
- Android疑难解决-Duplicate class xxx.xxx.xxx found in modules xxx.xxx.xxx
Duplicate class top.zibin.luban.BuildConfig found in modules jetified-Luban-1.1.8-runtime (top.zibin ...
- Android马甲包的那些事儿
制作Android马甲包最简单的方式就是使用 productFlavors 机制. 本文就是在productFlavors机制的基础上制作的马甲包,每个马甲只需要 在build.gradle文件中配置 ...
- android 多包名apk,一个项目如何编译多个不同签名、包名、资源等,的apk?
4 其他需要注意的事项 如果您在清单文件AndroidManifest.xml中,有那种以包名开头命名的那种.因为如果包名都改了,有些也需要动态的改变.可以用${applicationId}代替.在打 ...
- Android 解析包出错问题
2019独角兽企业重金招聘Python工程师标准>>> Android 解析包出错问题 app上线后经常会遇到安装包解析出错问题,今天刚好做个不完整的总结, 解决问题 检测系统是否开 ...
- Visual Studio 2017为Android APK包签名
Visual Studio 2017为Android APK包签名 为Android APK包签名,可以保证后期的App顺利升级.在Visual Studio 2015中,IDE会自动生成两个APK包 ...
- GoJS超详细入门(插件使用无非:引包、初始化、配参数(json)、引数据(json)四步)...
GoJS超详细入门(插件使用无非:引包.初始化.配参数(json).引数据(json)四步) 一.总结 一句话总结:插件使用无非:引包.初始化.配参数(json).引数据(json)四步. 1.goj ...
- 在Eclipse添加Android兼容包( v4、v7 appcompat )
昨天添加Android兼容包,碰到了很多问题,在这里记录一下,让后面的路好走. 如何选择兼容包, 请参考Android Support Library Features(二) 一.下载Suppo ...
- pycharm 中按照文档引包方式,引包错误
* python使用pycharm ide,如果电脑上有多个解释器的,在项目解释器配置的应该是当前使用的解释器:* 可以把当前使用的解释器目录添加到系统环境变量中,这样就不会报错了另外,如果目录中没有 ...
- 新一代开源Android渠道包生成工具Walle
本文转载自[http://tech.meituan.com/android-apk-v2-signature-scheme.html] 在Android 7.0(Nougat)推出了新的应用签名方案A ...
最新文章
- 深入理解分布式缓存设计
- 机器学习笔记(十五)规则学习
- 模仿写一个小型网站框架
- atitit. 分销系统规划p8k
- WebServices中的SOAP究竟是什么东西?与http,xml,webservices的本质关系是什么?
- lambert(兰伯特)投影 应用工具_全息投影技术,在哪些场地可以用到
- excel 使用定位工具批量删除错误值
- 基于TensorFlow的车牌识别系统 (附代码)
- 计算机底部怎么不显示网络连接图标不见了,电脑任务栏不显示网络连接图标怎么办...
- 运筹学笔记 整数规划
- word 尾注 脚注_如何在Microsoft Word中使用脚注和尾注
- 彻底理解Linux的各种终端类型以及概念
- OpenGL超级宝典笔记——光照参数与材料属性
- W: 校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。GPG 错误:http://mirrors.ustc.edu.cn/kali kali-rolling
- JAVA 获取数据库中表的结构
- Facebook_Pop的使用指北
- 考研数学145分之路:暑期精读大学数学课本
- 动作捕捉技术中分辨率和频率的重要性
- lg android tv刷机,LG TV Remote-webOS
- 《思考致富》——拿破仑·希尔
热门文章
- html <ul> li前面的小点浏览器显示不出来
- python之子弹移动
- File '/Users/jdl/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/13OK1WK8TKQX5/UIKit-2LM3EQU
- Hive 观看时长秒数、毫秒数转化为时分秒格式
- js插件获取当前所在的省市
- 2018-2019顶会论文与github热门项目整理
- IsKindOf(类型识别)
- 深度学习网络层之 Pooling
- 旋流油水分离器 新型旋流除油器厂家 镍钴萃取除油器
- 文档声明Doctype和Doctype html区别 文档类型定义(DTD)