快速解决Program type already present:com.xx.xx

前言

CSDN博客地址
GitHub https://github.com/MrQ-Android

开发中遇到的问题

gradle编译出现Program type already present:com.xx.xx

如果你也遇到了相同的问题,有望在1分钟之内找到问题所在,往下读吧

如图:


错误图1

也可以点开详细信息

错误图2

仔细查看发现是一个类 存在Program type already present

Caused by: com.android.builder.multidex.D8MainDexList$MainDexListException: com.android.tools.r8.errors.CompilationError: Program type already present: com.sensetime.ad.sdk.StFaceAttribute
at com.android.builder.multidex.D8MainDexList.generate(D8MainDexList.java:87)
at com.android.build.gradle.internal.transforms.D8MainDexListTransform.transform(D8MainDexListTransform.kt:114)
... 50 more

在网上搜了一下 有建议加上multiDexEnabled true的 也有的建议去掉multiDexEnabled true 试了一下都没有解决问题,

其实仔细读一下错误信息还是可以看出来的,其实就是这个类已经加载或存在了,也就是说很大的可能是因为重复引入了这个类,所以就去检查了这个类都存在哪些jar包中,最后在引用里发现这两个引用里面都有这个类,所以这个问题去掉一个就解决了,当遇到这个问题的时候可以检查下jar包有没有重复的


image.png

希望这篇文章可以帮助到需要的人,如果还有其他问题或者补充可以联系我~~~

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 104,972评论 12 126
  • 接着上一讲,具体来看看哪种竞争规则更好。 1.没有任何一个规则比别的规则更公平 公平与不公平要看谁说了,不同的人,...
    AmberShao阅读 303评论 0 2
  • 多想,能在日将暖花将开的早春遇见你,如此,我是不是就可以将每一天视作春天来过,我是不是就可以发现/镜子里的自己一天...
    戴蝴蝶结的豆豆阅读 40评论 0 0