背景

因为公司一个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中,但是似乎没人会这么做。

结语

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

Error : Program type already present: android.support.design.widget.CoordinatorLayout$的更多相关文章

  1. Program type already present: android.support.v4.widget.EdgeEffectCompat

    1.确保所有依赖包的 implementation 'com.android.support:appcompat-v7:25.4.0'是一样的 2.确保最外层的build.gradle中增加如下代码: ...

  2. 使用 CoordinatorLayout 出错 inflating class android.support.design.widget.CoordinatorLayout

    ava.lang.RuntimeException: Unable to start activity ComponentInfo{com.czr.ianpu/com.czr.ianpu.MainAc ...

  3. Error: Program type already present: android.arch.lifecycle.LifecycleRegistry$1

    com.firebaseui:firebase-ui-firestore:3.1.0 depends on android.arch.lifecycle:extensions:1.0.0-beta1. ...

  4. android:Program type already present: android.support.v4.app.INotificationSideChannel

    背景 这个错误的原因是:androidx和 android.support同时存在. 首先,网上有很多解答说这样处理: 在 gradle.properties 添加: android.useAndro ...

  5. Error:Program type already present: android.arch.lifecycle.LiveData

    Apparently, this is intended behavior: com.firebaseui:firebase-ui-firestore:3.1.0 depends on android ...

  6. Caused by: android.view.InflateException: Binary XML file line #12: Error inflating class android.support.design.widget.TabLayout,TableLayout引起页面崩溃

    在使用TableLayout的时候,运行引用程序直接Crash. FATAL EXCEPTION: main Process: com.edaixi.activity, PID: 9703 java. ...

  7. Android : Error inflating class android.support.design.widget.NavigationView

      之前一直没搞定的,今天终于解决了. Android报错: android.view.InflateException: Error inflating class android.support. ...

  8. 安卓官方ViewPager与android.support.design.widget.TabLayout双向交互联动切换 。

    该TabLayout的功用,简单的说,就是当用户在该TabLayout的选项卡子item中选择触摸时候,文字和下方的指示器横条滑动指示.android.support.design.widget.Ta ...

  9. Android Material Design:ViewPager与android.support.design.widget.TabLayout双向交互联动切换

    通常,android.support.design.widget.TabLayout与Android的ViewPager联合使用,实现与ViewPager的切换与联动.(1)比如,当用户手指触摸选择T ...

随机推荐

  1. django-模板之for标签(十)

  2. css简介以及css的添加方法

    什么是css? CSS是Cascading Style Sheets的简称,CSS是用来美化网页中文称为层叠样式表,用来控制网页数据的表现,可以使网页的表现与数据内容分离. css的基本语法 1.选择 ...

  3. MarkDown的常用语法

    个人比较喜欢Markdown的语法,常用来做一些笔记,下面就简单介绍一下它的语法. 概览 宗旨 Markdown 的目标是实现「易读易写」. 可读性,无论如何,都是最重要的.一份使用 Markdown ...

  4. 设计模式C++描述----18.中介者(Mediator)模式

    一. 举例 比如,现在中图和日本在关于钓鱼岛问题上存在争端.这时,联合国就会站出来,做为调解者,其实也没什么好调解的,钓鱼岛本来就是中国的,这是不争的事实!联合国也就是个传话者.发言人. 结构图如下: ...

  5. flask插件之flask_session会话机制

    flask-session是flask框架的session组件,由于原来flask内置session使用签名cookie保存,该组件则将支持session保存到多个地方,如: redis:保存数据的一 ...

  6. 2018.8.15 python 中的sorted()、filter()、map()函数

    主要内容: 1.lambda匿名函数 2.sorted() 3.filter() 4.map() 5.递归函数 一. lambda匿名函数 为了解决一些简单的需求而设计的一句话函数 # 计算n的n次方 ...

  7. 前端技术之:JS开发几个有意思的东东

    一. 查看性能分析报告 npm run build:prod --report ​ 二.vue ui工具 ​ ​ 三.vue-element-admin https://panjiachen.gite ...

  8. SVD分解

    首先,有y = AX,将A看作是对X的线性变换 但是,如果有AX = λX,也就是,A对X的线性变换,就是令X的长度为原来的λ倍数. *说起线性变换,A肯定要是方阵,而且各列线性无关.(回想一下,A各 ...

  9. [2018-06-28] django项目 实例

    实例一.显示一个基本的字符串在网页中 首先先进入views.py def home(request): string = u'随便写' return render(request, 'home.htm ...

  10. 浅谈OI中的底层优化!

    众所周知,OI中其实就是算法竞赛,所以时间复杂度非常重要,一个是否优秀的算法或许就决定了人生,而在大多数情况下,我们想出的算法或许并不那么尽如人意,所以这时候就需要一中神奇的的东西,就是底层优化: 其 ...