我们在使用第三库的时间有时会有 v4 包,但我们大部分时项目默认用的是v7包,哪么这时间就会有冲突了,怎么办,一般的方法直接删除v4包,统一用v7包;

具体做法有以下二种:

 第一种方案


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

compile 'com.android.support:support-v4:24.2.0'

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

例:出现下面错误

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

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

将v4包从libs目录下删除,重新添加在线的依赖库v4包,就可以了;

第二种方案:


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

     

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

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