Android Program type already present问题解决
最近遇到一个很神奇的问题,一个带有网络框架的项目加入开源聊天的界面报错了。刚开始一直怀疑是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问题解决相关推荐
- Program type already present问题解决
今天编译项目,遇到了一个问题,如下: java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexin ...
- 【bug记录】android:Program type already present: android.support.v4.app.INotificationSideChannel
项目里接入了知乎图片选择框架Matisse(0.5.3-beta版本),然后编译报错如题. 错误原因:androidx和 android.support同时存在:项目里并没有用androidx,但是M ...
- Android Studio 编译: Program type already present: XXX 解决方案
Android Studio 编译: Program type already present: XXX 解决方案 参考文章: (1)Android Studio 编译: Program type a ...
- 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 ...
- 【我的Android进阶之旅】解决Android项目编译报错: Program type already present : com.xxx.xxxx.BuildConfig
一.错误描述 今天编译项目的时候,出现了一个错误如下所示: AGPBI: {"kind":"error","text":"Prog ...
- 迁移到AndroidX报错Program type already present: androidx.annotation xxx
最近将项目中使用的support库迁移到AndroidX了,其中遇到了几处报错,其中大部分错误在网上都能找到,现在我只把网上搜索不到解决方法的错误分享一下.迁移成功后,运行项目时报错:Program ...
- 解决 Program type already present 问题
打包报错: Program type already present: com.ohmerhe.kolley.image.Image$ImageListener 就像上面这种问题,开发中我遇到过2次, ...
- Program type already present: com.google.gson.FieldAttributes
android studio编译出现如下问题: Program type already present: com.google.gson.FieldAttributes Message{kind=E ...
- Program type already present: com.***.***.classA“的解决经验
AGPBI: {"kind":"error","text":"Program type already present: com. ...
最新文章
- 你的企业客户服务,离卓越还有多远?
- j函数 判断以 什么开头
- c语言探测次数不超过4的哈希算法,HihoCoder1084: 扩展KMP(二分+hash,求T串中S串的数量,可以失配一定次数)...
- 单片机 PWM输出 c
- 如何映射本地虚拟机或远程服务器磁盘到本地
- python合并excel工作簿_Python合并多个Excel工作簿
- 【渝粤教育】国家开放大学2018年春季 8636-22T实用心理学 参考试题
- 获评优秀案例!IMG光线追踪技术实现卓越云游戏体验
- Android之数据统计TalkingData集成
- 吴恩达深度学习教程中文笔记目录
- cf为什么一直连接服务器失败,为什么cf连接服务器失败的解决方法
- mysql 三表关联查询
- Vue后台--Ele组件表格根据数字展示数值
- 【win10】开始菜单输cmd、运行、控制面板后点击无反应,win+x无反应,开始菜单右键无反应
- fastjson.android首字母大写转化问题
- 优化算法中的鞍点与梯度下降
- 2019高考数学-概率问题
- BT面板OpenLiteSpeed安装LiteSpeed Web+ wordpress+ LSCache插件+Redis 这样wp博客站速度可以起飞
- Vue2 必备的50个知识点
- 红色小圆点消息提示实现