解决v4,v7包冲突问题

来源:互联网 发布:java 线程的嵌套 编辑:程序博客网 时间:2024/05/18 01:49

问题描述:

需求:要做个应用其中要集成环信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中添加依赖:

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

5 0
原创粉丝点击