问题描述:
需求:要做个应用其中要集成环信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