1. 程式人生 > >transformClassesWithJarMergingForRelease解決辦法 解決版本衝突 解決jar包衝突

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