当前位置:   article > 正文

Program type already present: XXXXX

program type already present

这种表示有重复的类导致Build Conflict
解决方法:
1.查找:
To run the task, proceed as follows:

选择View > Tool Windows > Gradle (单击 工具窗口栏中的“ Gradle).
展开AppName > Tasks> android并双击androidDependencies。Gradle执行任务后,应打开“ 运行”窗口以显示输出
在这里插入图片描述
在这里插入图片描述
找到重复的类。
如果您无法轻松识别重复的依赖关系,请尝试使用Android Studio的UI搜索包含重复类的依赖项,如下所示:
在这里插入图片描述
2.解决:
修复重复的类错误,下面方法视情况选择
删除多余的引用依赖包(2种情况)

  • 若直接引用A,B包, 如果A包引用了B包,删除B包
  • 若A库上具有本地依赖项和远程依赖项,删除其中一个依赖

统一依赖版本
Group 和Module的区别
Module
具有独立功能的模块
Module中可能还包含有Module
implementation分号之后的部分
Group
Module的集合
implementation分号之前的部分
如下例子:

  • configurations方式

    一般build.gradle中的所有support依赖应为统一版本

 implementation 'com.android.support:appcompat-v7:27.1.1'
  • 1

dependencies{}完成后做相关配置

configurations {
   all*.exclude group: 'com.android.support', module: 'support-v13'
}
  • 1
  • 2
  • 3

假如android.arch.core:runtime:1.1.0@aar
android.arch.core:common:1.1.1@jar
有同样的Function类,可以在dependencies{}中
configurations{
all*.exclude group: ‘android.arch.core’
}

  • exclude方式:
implementation('com.android.support:customtabs:27.1.0', {
    exclude group: 'com.android.support', module: 'design'
})
  • 1
  • 2
  • 3

它们的意思是在Group中,排除Module

参考:
管理依赖的版本(传递(transitive)\排除(exclude)
Android Studio更新导致Program type already present: android.support.design.widget.CoordinatorLayout$1
Android开发之——依赖冲突Program type already present
Android Studio 编译: Program type already present: XXX 解决方案

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/529653
推荐阅读
相关标签
  

闽ICP备14008679号