欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Error : Program type already present: android.support.design.widget.CoordinatorLayout$

程序员文章站 2022-03-21 17:36:50
背景 因为公司一个app项目需要扩展,因为功能较多且较完整的流程与业务,而且和以前的业务关系不大,所以我整合到了 另外一个分包中(代号:newFunc,请注意是代号)进行依赖。 当我写完这部分业务开始进行debug的时候我发现了这个错误。 上述中我得出already这个关键字,在对分包的集成测试中没 ......

背景

因为公司一个app项目需要扩展,因为功能较多且较完整的流程与业务,而且和以前的业务关系不大,所以我整合到了
另外一个分包中(代号:newfunc,请注意是代号)进行依赖。
当我写完这部分业务开始进行debug的时候我发现了这个错误。
上述中我得出already这个关键字,在对分包的集成测试中没有出现问题,上述中我得出already这个关键字,说明已经存在,那么很有可能是冲突。

分析

材料:

  1. app 主包
  2. newfunc(代号) 分包

我搜集了两个包中的build.gradle,最有可能影响android.support.design的部分。
分别如下:
app:

implementation "com.android.support:support-v4:27.+"

newfunc(代号):

implementation "com.android.support:support-v4:26.+"
implementation 'com.android.support:design:26.1.0'

给我的第一印象就是去修改app的build.gradle把 27改成26
这样就不会加载26和27包冲突了。

最终解决方案

虽然我修改了27改成26是可以build成功的,但是对于这种基本上每个包都会用到的,所以我删除了分包中的

implementation "com.android.support:support-v4:26.+"

当然我们也可以将这个依赖放到android 项目的根目录下build.gradle中,但是似乎没人会这么做。

结语

希望对遇到相似问题的人有所帮助,最后希望能得到同行的指点与帮助,在此先感激为敬。