我在针对Android SDK 26进行编译时遇到以下冲突AAPT: Attribute "iconTint" already defined with incompatible format.
因此,我将支持版本设置为26.0.2
,并尝试通过以下方法强制所有依赖项忽略其支持版本:
exclude group: 'com.android.support'
但是,com.google.android.gms:play-services-basement
依赖关系仍然引用其自身的支持依赖关系,即使我将其排除在外:
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 (*)
知道为什么我所有的依赖项都通过应用上述规则而排除了他们的支持,为什么play-services-basement没有呢?谢谢
最佳答案
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'
}
}
}
}
}
关于android - Gradle:Android支持版本冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46448531/