Program type already present: android.support.v4.graphics.drawable.IconCompa

一 、是因为整个项目引用包之间有重复的,这里主要是因为 

butterknife 10.1.0 用到了 androidX 和 原来的support-v7 v4 包里面的类 重复,所以冲突了。

 

项目 build.gradle  中   插件是  

com.android.tools.build:gradle:3.3.1

Android Studio 3.3.1 是 gradle 是4.10.1  。

 

android 3.2.1 gradle 是4.6 

 

二、 如何查看是否有多个的重复文件呢?

通过搜索栏查看

双击Shift,在搜索框中输入重复的类名,如:Okio,可以看到有2条okio的信息

Program type already present: android.support.v4.graphics.drawable.IconCompa_第1张图片

 

三、查看引用项目引用所有类库 :

在Terminal中输入指令

gradlew -q app:dependencies

四、统一类库用一个版本 build 中添加 

 

/*同一版本去掉第三方依赖产生的support版本冲突*/
    configurations.all {
        resolutionStrategy.eachDependency { DependencyResolveDetails details ->
            def requested = details.requested
            if (requested.group == 'com.android.support') {
                if (!requested.name.startsWith("multidex")) {
                    details.useVersion '27.0.2'
                }
            }
        }
    }

 

你可能感兴趣的:(bug)