【笔记】support支持库,v4 v7 v13的理解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangxumh520/article/details/89915668

一、v7包含多个依赖包,但是和v4不同的是,v7下的多个子包是以独立库的形式发布的,有着特定的功能,每一个都可以单独的被引用。它们分别是v7-appcompat、v7-cardview、v7-gridlayout、v7-mediarouter、v7-palette、v7-recyclerview、v7-Preference-Support。

二、项目中直接引入v7-appcompat(默认引入), gradle会自动加入所有v4包的依赖,并且是和v7相同的版本,因此不用再引入v4。

三、v7版本可以和compileVersion不一致,只是官方建议保持一致。

四、项目中同时存在不同版本的v7包,如果是以maven的方式引入,gradle会自动选择版本较高的。但是如果有本地lib引入的话,运行时还是会报dex文件冲突。

五、异常冲突解决

1. 首先查看当前项目各种库的依赖情况。

2. 找到里面版本冲突的依赖库,然后查找app项目,开源库的lib目录,删除对应的jar包改用maven形式引入。

3. 如果你的app必须要使用本地lib引入v4库,那么就排除开源库的v4包

compile('com.facebook.fresco:fresco:0.10.0') {
       exclude module: 'support-v4'
}

如果是源码形式引入的开源库

compile (project(':thirdpart:RecyclerViewAdapterLibrary')){ 
     exclude group: 'com.android.support' 
}

六、v13包是开发平板用的

猜你喜欢

转载自blog.csdn.net/wangxumh520/article/details/89915668