一、为什么需要Support
包
由于应用除了会依赖library
和jar
包外,还需要依赖安卓系统本身的代码,也就是我们在SDK
每个版本中看到的android.jar
,这里面集成了Android
的所有API
,随着SDK
版本的升级,高版本的SDK
中会增加新的API
,如果在低版本中要使用这些新增的API
,那么只能将新增的API
以依赖包的形式集成到需要使用高版本API
的应用当中,也就是support
包。
二、Support
包的结构
2.1 V4
在Android Support Library 24.2.0
以前,v4
包支持的最小API
为4,而在之后的版本,移除了8及以下版本的支持,同时,将v4
包拆分成了独立的5个包。
com.android.support:support-compat:24.2.1
说明:兼容一些framework API
,例如Context.getDrawable
和View.performAccessibilityAction
。com.android.support:support-core-utils:24.2.1
说明:提供一些核心的工具类,如AsyncTaskLoader
和PermissionChecker
。com.android.support:support-core-ui:24.2.1
说明:提供一系列核心的UI
,例如ViewPager
、NestedScrollView
和DrawerLayout
。com.android.support:support-media-compat:24.2.1
说明:媒体android.media
兼容库,包括MediaBrowser
和MediaSession
。com.android.support:support-fragment:24.2.1
说明:依赖了其它4个子库,一旦导入这个包就会导入其余的库。
依赖关系:
2.2 V7
V7
也包含多个独立包,从24.2.0
开始,将V7
支持的最低版本升为9。
com.android.support:appcompat-v7:24.2.1
说明:这个支持对ActionBar
接口的设计模式,Material Design
接口的实现等,核心类包括ActionBar
、AppCompactActivity
、AppCompactDialog
、ShareActionProvider
等。com.android.support:cardview-v7:24.2.1
说明:CardView
控件com.android.support:gridlayout-v7:24.2.1
说明:GridLayout
布局com.android.support:mediarouter-v7:24.2.1
说明:用于设备间音频、视频交换显示的support
包。com.android.support:palette-v7:24.2.1
说明:提取图片中的主题色com.android.support:recyclerview-v7:24.2.1
说明:RecyclerView
com.android.support:preference-v7:24.2.1
说明:支持控件存储配置数据的,例如CheckBoxPreference
和ListPreference
。
2.3 V8
用于渲染脚本的support
包
2.4 V13
为API
为13或以上的Fragment
提供更多特性的支持。
##2.5 com.android.support:multidex:1.0.0
用于使用多Dex
技术编译APP
,当一个应用的方法数大于65536时,需要使用multidex
配置。
2.6 com.android.support:support-annotations:24.2.1
支持注解。
2.7 com.android.support:design:24.2.1
用于支持Design Patterns
的Support
包,它提供了Material Design
设计风格的控件:
FloatingActionButton
Snackbar
TextInputLayout
TabLayout
AppBarLayout
CollapsingToolbarLayout
CoordinatorLayout
NavigationView
2.8 com.android.support:customtabs:24.2.1
在应用中添加和管理Custom Tabs
的support
包,提供了一种新的打开网页的方式。
2.9 com.android.support:percent:24.2.1
支持百分比布局的support
包。
更多文章,欢迎访问我的 Android 知识梳理系列:
- Android 知识梳理目录:
- 个人主页:
- 个人知识总结目录: