首页 > 编程语言 >android开发aar包或者jar包出现类重复问题Caused by: java.lang.RuntimeException: Duplicate class found in modules xx

android开发aar包或者jar包出现类重复问题Caused by: java.lang.RuntimeException: Duplicate class found in modules xx

时间:2023-12-01 14:48:33浏览次数:35  
标签:lang 依赖 xxx jar moduleSDK module gradle aar

  1. 如果是仓库依赖的方式直接使用exclude语句移除相同的依赖库即可,如下:
implementation("org.java-websocket:Java-WebSocket:1.5.2") {
  exclude group: 'org.slf4j', module: 'slf4j-api'  //exclude掉websocket库依赖的slf4j库
}
  1. 但是如果是aar包或者jar包里面的类重复呢?这个情况是没方法直接exclude掉的吧?,这个情况也是有解决方法的,如下:
    2.1)方法一:解压aar或者jar包,删除掉其中重复的类,然后压缩回来。aar包或者jar包本是也是zip包,当作zip包解压缩处理即可。
    2.2)方法二:想方法将jar包或者aar转为类似仓库依赖的方式依赖进来,这个其实Android studio高版本已经硬性要求这个依赖aar包了。配置方式如下:
//第一步,创建模块
--moduleSDK  //创建app同级别的目录,随便一个名称,下面放在一个build.gradle文件和自己的aar包
  --build.gradle
  --module.aar

//第二步,在settings.gradle文件配置,依赖moduleSDK模块
include ':moduleSDK'

//第三步,项目里使用该依赖库moduleSDK
implementation project(':moduleSDK')

//第四步,编写moduleSDK模块下的build.gradle文件,内容类似如下:
configurations.maybeCreate("default")
artifacts.add("default",file("module.aar"))  //module.aar就是你的moduleSDK目录下的aar包

标签:lang,依赖,xxx,jar,moduleSDK,module,gradle,aar
From: https://www.cnblogs.com/yongfengnice/p/17869656.html

相关文章

  • Java--java.lang.String有个 indexOf()方法,但是要注意它是区分大小写的
    首先这个indexOf(Stringstr)方法的作用:如果要检索的字符串值没有出现,则该方法返回-1。1.如果要处理的字符串对大小写不敏感,可以将该字符串统一转成大写或者小写,然后再indexOf。例如处理:User-Agent:Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,like......
  • Golang中如何自定义时间类型进行xml、json的序列化/反序列化
    在日常开发工作中,我们进行会遇到将struct序列化json字符串以及将json字符串反序列化为struct的场景,大家也对此十分熟悉。最近工作中,遇到了需要将struct序列化xml字符串以及将xml字符串反序列化为struct的场景,对于普通类型的字段,比如int、string等类型,直接......
  • Golang学习笔记-定时任务
    指定具体时间执行packagemainimport( "fmt" "time")funcmain(){ //指定执行时间为2023-11-2900:00:00 executionTime:=time.Date(2023,time.November,29,0,0,0,0,time.UTC) //当前时间 now:=time.Now().UTC() //计算距离执行时间的持续时间 d......
  • mybatis mysql Data truncation: Incorrect integer value: '' for column 'xxx' at
     com.mysql.jdbc.MysqlDataTruncation:Datatruncation:Incorrectintegervalue:''forcolumn'n_before_group_id'atrow1 mybatisforeach插入时出现这个报错,原因是某字段插入空值时需要插入NULl而不是‘’ 解决办法:<choose><whentest="item.x......
  • Towards Reasoning in Large Language Models A Survey
    Reasoning定义推理:以逻辑和系统的方式进行思考,利用证据和过往经验来得出结论或作出抉择。演绎推理DeductiveReasoning结论来源于前提假设的阳性前提假设:哺乳动物都有肾脏前提假设:鲸是哺乳动物结论:鲸有肾脏归纳推理InductiveReasoning结论来源于观测或者证据......
  • golang常用包详解之: errgroup
    前言:并发编程在现代软件开发中变得越来越重要。Go语言通过goroutine和channel等语言特性为并发编程提供了非常强大的支持,但是在实际开发中,如何有效管理多个goroutine并处理它们可能产生的错误是一个挑战。这时,Go语言的官方库中的errgroup包就能发挥作用。正文:1.errgroup包概述errg......
  • 【SpringBoot】单元测试报错java.lang.IllegalStateException: Could not load TestCo
    一、运行test类方法时候报错 二、分析原因,发现版本不一致 三、找到pom文件, 把<version>RELEASE</version>注释掉,刷新一下maven依赖 四:修改后,依赖版本一致。 这样,就可以运行了。 ......
  • 【问题记录】【IDEA】启动突然报错 java: Internal error in the mapping processor:
    1 启动报错换了个高版本的IDEA,启动突然报错:2 解决办法添加编译配置参数:-Djps.track.ap.dependencies=false......
  • Golang-常见数据结构实现原理
    chan 1.chan数据结构 src/runtime/chan.go:hchan定义了channel的数据结构:typehchanstruct{qcountuint//当前队列中剩余元素个数dataqsizuint//环形队列长度,即可以存放的元素个数bufunsafe.Pointer//环形队列指针......
  • 软件测试/人工智能|一文告诉你LangChain核心模块chains原理
    简介Chain是LangChain的核心模块之一,它将每个零散的逻辑串联成一整个业务流程,相当于是所有复杂逻辑的基础,由此可见chain的重要性非比寻常。本文就来给大家介绍一下Chain模块的原理。下面是chain的各种类型设计思路LangChain能火爆的主要原因之一就是Chain的设计非常巧妙,它......