记:AS debug 依赖冲突->checkDefaultDebugDuplicateClasses FAILED

项目场景:

使用as编译项目时正常,debug安装调试时编译错误: Task :app:checkDefaultDebugDuplicateClasses FAILED
具体错误信息如下:

Duplicate class org.intellij.lang.annotations.Flow found in modules jetified-annotations-13.0.jar (org.jetbrains:annotations:13.0) and jetified-annotations-java5-17.0.0.jar (org.jetbrains:annotations-java5:17.0.0)
Duplicate class org.intellij.lang.annotations.Identifier found in modules jetified-annotations-13.0.jar (org.jetbrains:annotations:13.0) and jetified-annotations-java5-17.0.0.jar (org.jetbrains:annotations-java5:17.0.0)
Duplicate class org.intellij.lang.annotations.JdkConstants found in modules jetified-annotations-13.0.jar (org.jetbrains:annotations:13.0) and jetified-annotations-java5-17.0.0.jar (org.jetbrains:annotations-java5:17.0.0)

问题描述:

此问题是依赖重复引入导致,项目里找到了两个jetified-annotations-13.0.jar 和 jetified-annotations-java5-17.0.0.jar,不知道用哪个,这个两个jar分别是依赖 org.jetbrains:annotations:13.0 和 org.jetbrains:annotations-java5:17.0.0 里的内容,现在需要解决这个依赖冲突


解决方案:

  1. 先查询一下依赖所处位置,运行一下 查看依赖树:打开 AndroidStudio 右上角 Grade-> 运行app下(项目级别)help下的 dependencis,搜索一下“org.jetbrains:annotations”可以发现会找到不同版本的依赖,你所需要做的就是排除其中一个
    记:AS debug 依赖冲突->checkDefaultDebugDuplicateClasses FAILED_第1张图片
    记:AS debug 依赖冲突->checkDefaultDebugDuplicateClasses FAILED_第2张图片

  2. 排除

    在build.gradle里加以下代码,重新编译安装即可

    android{
       configurations {
            //排除 prism4j 里的
            compile.exclude group: 'org.jetbrains' , module:'annotations-java5'
        }
        }
    
  3. 如果出现差异的地方是一个模块,可以直接把排除代码加到模块下的build.gradle 里 这样其他引用是就不会出现这种冲突了

你可能感兴趣的:(Android,开发,android,android,studio)