前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在安卓上如何优雅地解决v4,v7包冲突问题(最佳实践篇)

在安卓上如何优雅地解决v4,v7包冲突问题(最佳实践篇)

作者头像
程序员飞飞
发布2022-05-09 10:32:04
4820
发布2022-05-09 10:32:04
举报
文章被收录于专栏:Android&Java技术

问题描述:

需求:要做个应用其中要集成环信EaseUI,将库依赖到Module时报如下错误:

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.   com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException:

翻译过来就是Jar包冲突,然后看了一下,EaseUI库中的libs下,依赖了一个v4的jar包,而主工程中又依赖了一个v7的库而导致的冲突

解决方式一:

由于EaseUI中的v4 jar一般比较旧,所以果断将v4包从libs目录下删除,重新添加在线的依赖库v4包,在build.gradle中添加依赖:

代码语言:javascript
复制
compile 'com.android.support:support-v4:24.2.0'

注意此时的v4包的版本号要和你主工程module的v7包的版本要一致,(一般情况下相同版本的依赖包不会冲突),然后重新build工程就ok了

解决方式二:

不用删除EaseUI库中的V4包,直接在主工程Module的build.gradle文件中添加如下:

        compile('com.android.support:appcompat-v7:23.3.0') {             exclude module: 'support-v4'         }

默认情况下v7中是包含V4包的,exclude  的意思就是从v7包中去除v4包这样就可以解决冲突了...

最后我要说的是如果项目中要使用v4包的时候尽量使用在线依赖库,不要使用jar包这样也可以减少冲突的发生...

这是我的一些经验分享,由于本人的水平有限,如果有不对的地方,欢迎大家批评指正!0.0

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档