0
点赞
收藏
分享

微信扫一扫

android开发aar包或者jar包出现类重复问题Caused by: java.lang.RuntimeException: Duplicate cl

  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包



举报

相关推荐

0 条评论