1.當依賴庫被多個三方引用造成沖突時
configurations {
? ? ?//去掉所有的utdid重復
? ? ? all*.exclude group:'com.alipay.android.phone.thirdparty', module: 'utdid-build'?
? ? ? //去掉所有的 com.android.support:support-annotations 依賴
? ? ? ?all*.exclude group:?'com.android.support', module:?'support-annotations';
}
2.如果已知沖突的三方
比如直播sdk沖突
implementation ('com.bokecc:vod:3.7.1'){
? ? exclude ?group:'com.bokecc', ?module:'hdplayer' ?//去掉沖突的庫
}
比如直播support庫沖突
implementation('com.airbnb.android:lottie:2.6.0'){
? ? exclude group:'com.android.support'
}
3.如果是so包沖突蠢笋,必須在主項目中使用
packagingOptions {
? ? ?pickFirst 'lib/armeabi-v7a/libstlport_shared.so'? //引號后面 去掉重復的.so 包
}
4.如果不想讓三方使用的依賴庫編譯 則使用?transitive 字段
compile('com.aliyun.ams:alicloud-android-beacon:1.0.1'){
? ? transitive ? true
}