- 如果是仓库依赖的方式直接使用exclude语句移除相同的依赖库即可,如下:
implementation("org.java-websocket:Java-WebSocket:1.5.2") {
exclude group: 'org.slf4j', module: 'slf4j-api' //exclude掉websocket库依赖的slf4j库
}
- 但是如果是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