Grade 依赖冲突完美解决

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForPAXDebug'.
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: D:\lanya\KLN_JiaZhang\app\build\intermediates\transforms\dexBuilder\PAX\debug\0.jar, 
.....

 Program type already present: org.intellij.lang.annotations.JdkConstants$AdjustableOrientation
 Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.

这是我项目的报错信息,先告诉大家解决怎么看jar包冲突报错信息
下面这句报错信息我们可以知道程序报错是因为 jar 冲突

Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForPAXDebug'.

那么确定了报错原因,那么该怎么解决呢?
标记重点 “org.intellij.lang.annotations.JdkConstants$AdjustableOrientation”
这一行报错信息告诉了我们这个类发生了冲突 “AdjustableOrientation”


Program type already present: org.intellij.lang.annotations.JdkConstants$AdjustableOrientation

然后在 AndroidStudio 中双击 Shift 全局查找 “AdjustableOrientation”
查出来的结果确实有俩个不同版本的依赖包,一个是annotations13.0@jar的 ,另一个是annotations-java5-15.0@jar。
到这里虽然我们知道这俩个依赖包有冲突,但是怎么找到这俩个依赖是在哪里呢?

《Grade 依赖冲突完美解决》 image.png

打开 AndroidStudio 右上角 Grade,运行 help 下的 dependencis

《Grade 依赖冲突完美解决》 image.png

运行之后大一点的项目会有很多的依赖关系,我们直接使用快捷键 “ctrl + F ” 搜索冲突 jar 的包名 “org.jetbrains:annotations”,从截图中可以看到 我需要去除的依赖在 easylib 这个项目下面,到了这一步直接去 这个项目的 build.grade 下去找到去除就好了。

《Grade 依赖冲突完美解决》 image.png

    原文作者:奇梦人
    原文地址: https://www.jianshu.com/p/b3d985f78b0b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞