通常我们在添加module的时候都要修改新加入的module的依赖配置,改成与你的project一致。
当你的project和新添加的module同时引用了相同的jar包,或者一个引用了jar包,另一个引用了相同的依赖库,就会出现依赖冲突(同时引用相同的依赖库不会冲突)。
1.同时引用相同jar包,依赖冲突
2.一个引用了jar包,另一个引用依赖库,依赖冲突
3.同时引用相同的依赖库,无冲突
例如我在project和module中都使用了glide,在project中加入jar包:
implementation files('libs/glide-3.7.0.jar')
在module中添加依赖库:
implementation 'com.github.bumptech.glide:glide:3.7.0'
会报以下异常:
Error: Program type already present: com.bumptech.glide.BitmapOptions
解决办法:
删除module中下面这行:
implementation fileTree(dir: 'libs', include: ['*.jar'])
module中添加的依赖库改成:
compileOnly 'com.github.bumptech.glide:glide:3.7.0'
如果module中添加的是jar包:
compileOnly files('libs/glide-3.7.0.jar')