Android Support V4、V7、V13介绍

流过昼夜 提交于 2019-12-01 04:16:01

一、Android Support v4、v7、v13 介绍

Google提供了 Android Support Library package 系列的包来保证** 高版本sdk开发的向下兼容性** (即我们用 4.x 开发时,在 1.6 等版本上,可以使用高版本的有些特性,如Fragement,ViewPager等)。简单说明下这几个版本间的区别:

v4 : 这个包是为了 照顾1.6及更高版本而设计的,这个包是使用最广泛的,eclipse新建工程时,都默认带有了。

v7: 这个包是为了考虑照顾 2.1及以上版本而设计的,但不包含更低,故如果不考虑1.6,我们可以采用再加上这个包,另外注意,v7是要依赖v4这个包的,即,两个得同时被包含(默认情况下,依赖 v7 自动导入了 v4)。

v13:这个包的设计是为了android 3.2及更高版本的,一般我们都不常用,平板开发中能用到。(当初是为了开发平板做设计的。Android 3.x 系统都是平板专用系统,但是 3.x 系统失败了。所以使用v13的包没有任何价值。)

:v7版本适用于任何版本的开发,保证了兼容性,所以在使用的时候一定要采用。

二、v4 包 与 v7 包 冲突问题解决

问题出现:

      在使用第三方库的时候,有时第三方库会依赖 v4 包,而我们的项目默认使用 v7 包。如果这时 v4 包的版本与 v7 的版本不一致,就会出现依赖包冲突的问题。

解决方案:

(1)、在项目中重新添加在线的 v4 包:

由于第三方包中的 v4 版本一般比较旧,在 build.gradle 中 重新添加依赖:

   // 消除 与 Arouter 中 V4 版本不一致的问题
    implementation 'com.android.support:support-v4:27.1.1'

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

(2)、保留第三方库中的 v4 包,删除项目中的 v4 包:

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

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

补充:

implementation ('com.jakewharton.rxbinding2:rxbinding-design:2.0.0') {
   exclude group: 'com.android.support'
}

表示只要包含 com.android.support 的都除去 。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!