因为重复引用造成打包时候出现
transformClassesWithJarMergingForRelease的解决办法
可以通过gradle配置或者在依赖声明时添加exclude
的方式来排除指定的引用。
exclude可以接收group和module两个参数,这两个参数可以单独使用也可以搭配使用
configurations { //编译期排除aa模块 compile.exclude module: 'aa' //在整个构建过程中排除aa.bb:cc all*.exclude group: 'aa.bb', module: 'cc' } //一般常用的是下面这种方法解决重复引用包名的问题!!!
dependencies { compile("com.google.firebase:firebase-ads:9.4.0") { exclude module: 'support-v4' } }
- =====其他
指定force = true
属性可以冲突时优先使用该版本进行解决。
compile('com.google.firebase:firebase-ads:9.4.0') {
force = true
}
- 全局配置强制使用某个版本的依赖来解决依赖冲突中出现的依赖
configurations.all {
resolutionStrategy {
force 'com.google.firebase:firebase-ads:9.4.0'
}
}
dependencies {
compile('com.google.firebase:firebase-ads:9.4.0') { // 冲突时优先使用该版本 force = true
// 依据构建名称排除 exclude module: 'support-v4' // 依据组织名称排除 exclude group: 'aa.bb' }