一、前言
关于Android Support Library,官网是这样解释的:
“Android 支持库提供了诸多未内置于框架的功能。这些库提供向后兼容版本的新功能、框架中未包含的实用 UI 元素,以及应用可以利用的一系列实用程序。”
官网参考链接:https://developer.android.com/topic/libraries/support-library/index.html
通俗点来说,就是APP需要支持的系统最低版本(minSdkVersion)比较低,而要用到的某些功能、UI控件是在某个高版本中才出现的,但是你又非要用,咋办?低版本系统跑不起来的。
于是,谷歌就提供了Android Support Library Package来保证高版本sdk开发的向后兼容。
举个例子:
RecyclerView是在Android 5.0出现的UI控件,项目中需要用到它。但项目的minSdkVersion=16,即最低要支持Android 4.1的机器能够安装这个APP。这时候就要引入支持库以使RecyclerView能够在最低Android 4.1的机器上运行。
二、用法
举例说明:
compile 'com.android.support:recyclerview-v7:25.0.0'
其中
com.android.support意为引入Android支持库
recyclerview是需要支持库提供的库
v7是最低要照顾哪个系统版本(版本号7 即 Android 2.1)
25.0.0是要使用Android SDK的哪个版本编译应用,即compileSdkVersion
三、区别
(1)Android Support v4:为1.6及以上版本而设计,1.6以下不提供支持
(2)Android Support v7:为2.1及以上版本而设计,2.1以下不提供支持
注意:各位可能在很多帖子里会看到“v7 包是依赖 v4 包的,引入 v7 包的话要同时引入 v4 包”这样的说法,不完全正确。有些库需要,如“v7 appcompat库”,大多数库都不需要。具体的库后面列出。
(3)Android Support v13:为3.2及以上版本而设计,3.2以下不提供支持。较少用到,一般用于平板APP的开发。
(4)v8、v14、v17:不再详细讨论,有兴趣请查看官网。
四、各版本支持库
官网链接:https://developer.android.com/topic/libraries/support-library/features.html
1、v4支持库
(1)v4 compat 库
为众多框架 API 提供兼容性包装器,例如 Context.obtainDrawable()
和 View.performAccessibilityAction()
。
(2)v4 core-utils 库
提供大量实用程序类,例如 AsyncTaskLoader