前言

Google提供了Android Support Library package 系列的包来保证来高版本sdk开发的向下兼容性,即我们用4.x开发时,在1.6等版本上,可以使用高版本的有些特性,如Fragement,ViewPager等。我们常见的Android Support V4, V7, V13是什么呢?其实本质上就是三个java library。为什么要用support库呢?因为在低版本Android平台上开发一个APP,又想使用高版本才拥有的功能,就需要使用Support来支持兼容。下面简单说明下这几个版本间的区别。

android-support-v4 ——2011年4月份推出

compile "com.android.support:support-v4

是谷歌推出最低兼容到1.6版本系统的包。eclipse新建工程时,都默认带有了,里面有类似Fragment,NotificationCompat,LoadBroadcastManager,ViewPager,PageTabAtrip,Loader,FileProvider  等等控件。它包含了V7和V13太多基础功能。

android-support-v7——2014年的I/O大会推出

compile "com.android.support:appcompat-v7:

是谷歌推出的版本兼容包,最低兼容Android2.1的系统。最新的v7包增加了很多material design的兼容类和素材,其中涉及的内容有Theme,value,布局,新的控件,新的动画实现方式,包含了support-v4的全部内容。android studio在创建工程的时候默认导入了v7工程,并且将style使用了兼容style,给开发者提供了极大的方便。另外注意,v7是要依赖v4这个包的,即,两个得同时添加依赖。

v7版本适用于任何版本的开发,保证了兼容性,所以推荐采用。另外,不要再用Eclipse做Android开发,ADT已经没有更新过了,目前 Android Studio 是Android开发的首选工具,更好的开发享受。

android-support-v13

是谷歌为平板开发推出的版本兼容包,最低兼容Android3.2的系统。当初是为了开发平板做设计的,可以说Android 3.x系统都是平板专用系统,但是3.x系统失败了,所以使用v13的包没有任何价值。

androidX 

从android9.0 ,API28开始, android的support库将会进行改进, V7: 28.0.0将会是support库的终结版本。未来新的特性和改进都会进入Androidx包。为什么要进行如此大规模的革新?主要原因是support库的命名已经越来越令人迷惑 ,包越来越臃肿。

依赖包的变化,如下:

api 'com.android.support:appcompat-v7:28.0.0'

变成了:

api 'androidx.appcompat:appcompat:1.0.0'

如何过渡到AndroidX?

前提是你的项目build.gradle中的插件版本要在3.2.0以上. 这也意味着你的android studio版本不能太低。

classpath 'com.android.tools.build:gradle:3.2.0+'

然后,项目中肯定有第三方依赖,而且现在很多依赖都是使用sopport 包。官方博客中有说道,为了给开发者一定迁移的时间,所以28.0.0的稳定版本还是采用android.support。但是所有后续的功能版本都将采用androidx。如果你想使用AndroidX,但是之前的不迁移,可以这样配置:

android.useAndroidX=true
android.enableJetifier=false

Android Studio就提供了sopport转androix的能力;需要先在gradle.properties 文件中加入配置:

android.useAndroidX=true
android.enableJetifier=true

上面工作完成后,那么恭喜你,你的项目已经进入androix时代了 。

Android Support v4\v7\v13和AndroidX的区别及应用场景相关推荐

  1. android.support.v4作用,Android Support V4, V7, V13的作用与用法

    1, Android Support V4, V7, V13是什么? 本质上就是三个java library. 2,  为什么要有support库? 如果在低版本Android平台上开发一个应用程序, ...

  2. android support v7 v13,Android support V3 v7 v13的差别

    Android support V3 v7 v13的区别 简单翻译: V4用于1.6到更高的API使用. V7是2.1到更高的API使用,其中包含ACtionBar. V13是3.2到更高的API的使 ...

  3. android support v7 v13,Android support V3 v7 v13的区别

    简单翻译: V4用于1.6到更高的API使用. V7是2.1到更高的API使用,其中包含ACtionBar. V13是3.2到更高的API的使用. 原文: v4 Support Library Thi ...

  4. Android support V3 v7 v13的区别

    简单翻译: V4用于1.6到更高的API使用. V7是2.1到更高的API使用,其中包含ACtionBar. V13是3.2到更高的API的使用. 原文: v4 Support Library Thi ...

  5. android support v4、v7、v13

    android support v4.v7.v13的区别及作用和用法 1, Android Support V4, V7, V13是什么? 本质上就是三个java library. 2, 为什么要有s ...

  6. android项目迁移到androidX:类映射(android.support.v4*)

    支持库类 AndroidX 类 android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat androidx.core ...

  7. Android Support v4、v7、v13的区别和应用场景

    google提供了Android Support Library package 系列的包来保证来高版本sdk开发的向下兼容性,即我们用4.x开发时,在1.6等版本上,可以使用高版本的有些特性,如fr ...

  8. Android Support v4、v7、v13 介绍

     google提供了Android Support Library package 系列的包来保证来高版本sdk开发的向下兼容性,即我们用4.x开发时,在1.6等版本上,可以使用高版本的有些特性, ...

  9. android v4 v7 v14,Android Support v4、v7、v13、v14、v17的区别和应用场景

    在我刚开始学习Android的时候,我是不清楚这几个包是拿来干嘛的,于是到网上找答案,发现基本上说的是v4.v7.v13的. 剩下的v14和v17到底是啥?不知道. 于是就一直没理会,因为开发的时候也 ...

最新文章

  1. Nginx源代码分析 - 日志处理
  2. [原创].NET 业务框架开发实战之十 第一阶段总结,深入浅出,水到渠成(前篇)...
  3. 云服务器和VPS服务器有什么区别?
  4. 深度linux引导安装,全程演示Linux Deepin 12.06安装过程
  5. ssh登录命令(转)
  6. 『数学』你确定你学会了勾股弦定理!真的吗?看完这个篇文章再回答我!
  7. 利用Caffe实现mnist的数据训练
  8. 读《编程之美》读后感3
  9. Spring Security xsd 异常
  10. 数据结构严蔚敏 栈基本操作 C语言实现
  11. ue编辑器绿色免安装版
  12. maya的颤动怎么做_为什么maya视窗跳动闪烁
  13. 字符设备、块设备、网络设备详解
  14. MAC 扩展屏,颜色描述文件
  15. 关于Jetson TX2刷机各种问题(刷机后键盘等等奇葩错误)
  16. 台式计算机启动时 每次按f1,电脑开机每次都要按f1怎么办|电脑开机要按f1的解决方法...
  17. 智能科学与技术 毕业设计怎么做 - 选题推荐 - 疑问解答
  18. 天才小毒妃 第961章 她不后悔就够了
  19. 在虚拟机关机时,提示Ubuntu-Unattended upgrade in progress during shutdown, please don‘t turn off
  20. 从EM算法到变分推断(变分贝叶斯推断)

热门文章

  1. java gbc_java面试题good and gbc
  2. java jce 授权_java jce限制
  3. 通信工程matlab课程设计封面,通信系统课程设计基于MATLAB的FM通信系统设计
  4. RabbitMQ和Spring Cache冲突问题解决
  5. 一个简单的php蜜罐
  6. java控制指令和stomp_Stomp与Jackson
  7. JavaScript实现shift键连续多选
  8. Git submodule did not contain解决办法
  9. 剑指 Offer(专项突击版)Java 持续更新....
  10. C语言memcpy函数和memmove函数