方法一:改依赖库的版本

其实就是依赖的包版本不一样,产生了冲突,把所有依赖的库改成版本一致的就可以了。

注意:如果有多个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错误相关推荐

  1. 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 ...

  2. Android马甲包的那些事儿

    制作Android马甲包最简单的方式就是使用 productFlavors 机制. 本文就是在productFlavors机制的基础上制作的马甲包,每个马甲只需要 在build.gradle文件中配置 ...

  3. android 多包名apk,一个项目如何编译多个不同签名、包名、资源等,的apk?

    4 其他需要注意的事项 如果您在清单文件AndroidManifest.xml中,有那种以包名开头命名的那种.因为如果包名都改了,有些也需要动态的改变.可以用${applicationId}代替.在打 ...

  4. Android 解析包出错问题

    2019独角兽企业重金招聘Python工程师标准>>> Android 解析包出错问题 app上线后经常会遇到安装包解析出错问题,今天刚好做个不完整的总结, 解决问题 检测系统是否开 ...

  5. Visual Studio 2017为Android APK包签名

    Visual Studio 2017为Android APK包签名 为Android APK包签名,可以保证后期的App顺利升级.在Visual Studio 2015中,IDE会自动生成两个APK包 ...

  6. GoJS超详细入门(插件使用无非:引包、初始化、配参数(json)、引数据(json)四步)...

    GoJS超详细入门(插件使用无非:引包.初始化.配参数(json).引数据(json)四步) 一.总结 一句话总结:插件使用无非:引包.初始化.配参数(json).引数据(json)四步. 1.goj ...

  7. 在Eclipse添加Android兼容包( v4、v7 appcompat )

     昨天添加Android兼容包,碰到了很多问题,在这里记录一下,让后面的路好走. 如何选择兼容包, 请参考Android Support Library Features(二) 一.下载Suppo ...

  8. pycharm 中按照文档引包方式,引包错误

    * python使用pycharm ide,如果电脑上有多个解释器的,在项目解释器配置的应该是当前使用的解释器:* 可以把当前使用的解释器目录添加到系统环境变量中,这样就不会报错了另外,如果目录中没有 ...

  9. 新一代开源Android渠道包生成工具Walle

    本文转载自[http://tech.meituan.com/android-apk-v2-signature-scheme.html] 在Android 7.0(Nougat)推出了新的应用签名方案A ...

最新文章

  1. 深入理解分布式缓存设计
  2. 机器学习笔记(十五)规则学习
  3. 模仿写一个小型网站框架
  4. atitit. 分销系统规划p8k
  5. WebServices中的SOAP究竟是什么东西?与http,xml,webservices的本质关系是什么?
  6. lambert(兰伯特)投影 应用工具_全息投影技术,在哪些场地可以用到
  7. excel 使用定位工具批量删除错误值
  8. 基于TensorFlow的车牌识别系统 (附代码)
  9. 计算机底部怎么不显示网络连接图标不见了,电脑任务栏不显示网络连接图标怎么办...
  10. 运筹学笔记 整数规划
  11. word 尾注 脚注_如何在Microsoft Word中使用脚注和尾注
  12. 彻底理解Linux的各种终端类型以及概念
  13. OpenGL超级宝典笔记——光照参数与材料属性
  14. W: 校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。GPG 错误:http://mirrors.ustc.edu.cn/kali kali-rolling
  15. JAVA 获取数据库中表的结构
  16. Facebook_Pop的使用指北
  17. 考研数学145分之路:暑期精读大学数学课本
  18. 动作捕捉技术中分辨率和频率的重要性
  19. lg android tv刷机,LG TV Remote-webOS
  20. 《思考致富》——拿破仑·希尔

热门文章

  1. html <ul> li前面的小点浏览器显示不出来
  2. python之子弹移动
  3. File '/Users/jdl/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/13OK1WK8TKQX5/UIKit-2LM3EQU
  4. Hive 观看时长秒数、毫秒数转化为时分秒格式
  5. js插件获取当前所在的省市
  6. 2018-2019顶会论文与github热门项目整理
  7. IsKindOf(类型识别)
  8. 深度学习网络层之 Pooling
  9. 旋流油水分离器 新型旋流除油器厂家 镍钴萃取除油器
  10. 文档声明Doctype和Doctype html区别 文档类型定义(DTD)