transformClassesWithJarMergingForRelease解决办法 解决版本冲突 解决jar包冲突

因为重复引用造成打包时候出现

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' }

猜你喜欢

转载自blog.csdn.net/pangzaifei/article/details/78595242