简体   繁体   中英

Gradle : android support version conflict

I'm having the following conflict while compiling against android sdk 26

AAPT: Attribute "iconTint" already defined with incompatible format.

So I set the support version to 26.0.2 and tried to force all my dependencies to ignore their support version with the following : exclude group: 'com.android.support'

However, the com.google.android.gms:play-services-basement dependency still refers to its own support dependency, even though I exclude it :

compile "com.android.support:support-v4:"
compile ("com.google.android.gms:play-services-basement:11.4.0"){
    exclude group: 'com.android.support'
}

./gradlew app:dependencies

|    +--- com.android.support:support-v4:26.0.2 (*)
|    +--- com.google.android.gms:play-services-basement:11.4.0
|    |    \--- com.android.support:support-v4:25.2.0 -> 26.0.2 (*)

Any idea why all my dependencies exclude their support by applying the above rule, and why play-services-basement doesn't ? Thanks

configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == 'com.android.support') {
        if (!requested.name.startsWith("multidex")) {
            if (!requested.name.startsWith("test")) {
                details.useVersion '26.1.0'
            }
        }
    }
}
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM