最近遇到一个很神奇的问题,一个带有网络框架的项目加入开源聊天的界面报错了。刚开始一直怀疑是appcompat-v7和AndroidX冲突,排查的一番又不是。

1、报错的错误如下

> Task :app:transformDexArchiveWithExternalLibsDexMergerForDebug FAILED
AGPBI: {"kind":"error","text":"Program type already present: io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable","sources":[{}],"tool":"D8"}Program type already present: io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnableExecution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: C:\SVN\caring\app\build\intermediates\transforms\dexBuilder\debug\211.jarProgram type already present: io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable

重点就是这句 Program type already present: io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable

其实就是库重复冲突了。不是其他原因。找到重复的库就能解决

2、解决办法

提示是ScheduledRunnable这个类重复。那么复制ScheduledRunnable,使用快捷键double shift键,复制查询一下,就能看到冲突的库。从下面截图可以发现rxAndroid和rxJava有重复冲突的库。分别有两个版本。所以去掉一个就行,我是删掉本地libs里面重复。

删除下面红色框的两个库,再进行编译。如果提示还有别的库,那么再进行删除本地。

我删除掉了本地rxjava-2.2.8.jar 和 rxandroid-2.0.2.aar。删除之后编译又发现有一个重复,又使用同样的方法检查,找到删除本地的库。最终删除了3个库。

3、总结

其实产生这种根本原因是本地libs文件夹存在相同库一个版本。由于新加库本来包含libs某个库,所以要找出来去掉其中一个。如果其他是打包在一起,那么优先去掉libs下面重复的库。

Android Program type already present问题解决相关推荐

  1. Program type already present问题解决

    今天编译项目,遇到了一个问题,如下: java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexin ...

  2. 【bug记录】android:Program type already present: android.support.v4.app.INotificationSideChannel

    项目里接入了知乎图片选择框架Matisse(0.5.3-beta版本),然后编译报错如题. 错误原因:androidx和 android.support同时存在:项目里并没有用androidx,但是M ...

  3. Android Studio 编译: Program type already present: XXX 解决方案

    Android Studio 编译: Program type already present: XXX 解决方案 参考文章: (1)Android Studio 编译: Program type a ...

  4. Program type already present: android.support.v4.app.BackStackRecord$Op

    Program type already present: android.support.v4.app.BackStackRecord$Op 原文:https://blog.csdn.net/zww ...

  5. 【我的Android进阶之旅】解决Android项目编译报错: Program type already present : com.xxx.xxxx.BuildConfig

    一.错误描述 今天编译项目的时候,出现了一个错误如下所示: AGPBI: {"kind":"error","text":"Prog ...

  6. 迁移到AndroidX报错Program type already present: androidx.annotation xxx

    最近将项目中使用的support库迁移到AndroidX了,其中遇到了几处报错,其中大部分错误在网上都能找到,现在我只把网上搜索不到解决方法的错误分享一下.迁移成功后,运行项目时报错:Program ...

  7. 解决 Program type already present 问题

    打包报错: Program type already present: com.ohmerhe.kolley.image.Image$ImageListener 就像上面这种问题,开发中我遇到过2次, ...

  8. Program type already present: com.google.gson.FieldAttributes

    android studio编译出现如下问题: Program type already present: com.google.gson.FieldAttributes Message{kind=E ...

  9. Program type already present: com.***.***.classA“的解决经验

    AGPBI: {"kind":"error","text":"Program type already present: com. ...

最新文章

  1. 你的企业客户服务,离卓越还有多远?
  2. j函数 判断以 什么开头
  3. c语言探测次数不超过4的哈希算法,HihoCoder1084: 扩展KMP(二分+hash,求T串中S串的数量,可以失配一定次数)...
  4. 单片机 PWM输出 c
  5. 如何映射本地虚拟机或远程服务器磁盘到本地
  6. python合并excel工作簿_Python合并多个Excel工作簿
  7. 【渝粤教育】国家开放大学2018年春季 8636-22T实用心理学 参考试题
  8. 获评优秀案例!IMG光线追踪技术实现卓越云游戏体验
  9. Android之数据统计TalkingData集成
  10. 吴恩达深度学习教程中文笔记目录
  11. cf为什么一直连接服务器失败,为什么cf连接服务器失败的解决方法
  12. mysql 三表关联查询
  13. Vue后台--Ele组件表格根据数字展示数值
  14. 【win10】开始菜单输cmd、运行、控制面板后点击无反应,win+x无反应,开始菜单右键无反应
  15. fastjson.android首字母大写转化问题
  16. 优化算法中的鞍点与梯度下降
  17. 2019高考数学-概率问题
  18. BT面板OpenLiteSpeed安装LiteSpeed Web+ wordpress+ LSCache插件+Redis 这样wp博客站速度可以起飞
  19. Vue2 必备的50个知识点
  20. 红色小圆点消息提示实现

热门文章

  1. 分页插件 - PageHelper的介绍和使用
  2. 麦克斯韦应力张量法(1)
  3. 使用kali搭建钓鱼WIFI——KARMA
  4. 以联接见世界深广 鼎桥通信正式签约赞助成都大运会
  5. 【计算机网络】SMTP协议简述
  6. PHPCMS模板语法规则
  7. 【SwiftUI模块】0026、SwiftUI制作具有半透明底部标签栏滚动效果的动画轮播滑块
  8. 监控IPv4和IPv6下的相同端口
  9. AI让我离灵魂画手只差个灵魂了
  10. 搭建文件共享服务器 实验报告,ftp服务器搭建实验报告.doc