gradle使用exclude移除重复依赖

exclude

+— com.android.support:design:24.2.1

|  +— com.android.support:support-v4:24.2.1 (*)

|  +— com.android.support:appcompat-v7:24.2.1 (*)

|  \ — com.android.support:recyclerview-v7:24.2.1

|    +— com.android.support:support-annotations:24.2.1

|    +— com.android.support:support-compat:24.2.1 (*)

|    \ — com.android.support:support-core-ui:24.2.1 (*)

上面是com.android.support:design:24.2.1的依赖关系,如果项目已经依赖了com.android.support:support-v4:24.2.1,那么就可以吧design包中的support-v4移除。

compile('com.android.support:design:24.2.1') {
    exclude group: 'com.android.support', module: 'support-v4'
}

group对应com.android.supportmodule对应support-v4,如果只写group,不写module,那么将会移除design包下所有与group对应的包。

transitive

用于自动处理子依赖项。默认为 true,gradle 自动添加子依赖项;设置为 false,则需要手动添加每个依赖项。