注意: 随着 Support Library 28.0.0 的发布,打包为 android.support
的库已弃用,并由打包为 androidx
的独立版本 Jetpack 库取代。Jetpack 库的初始 1.0.0 版本与 Support Library 28.0.0 功能对等,并为迁移到新的 androidx
打包方式提供了起点。
现有的打包为 android.support
的库将继续工作;但是,它们不会收到 28.0.0 版本之后的任何更新,并且将与新的 Jetpack 库不兼容。历史工件(版本 27 及更早版本,打包为 android.support
的库)将在 Google Maven 上保持可用。所有新的工件都将打包为 androidx
,并且需要从 android.support
迁移到 androidx
。
我们建议在所有新项目中使用 androidx
库。您还应考虑迁移现有项目,以确保它们持续获得 bug 修复及其他库改进。
Android Support Library 包含多个库软件包,可以包含在您的应用中。这些库中的每一个都支持特定范围的 Android 平台版本和一组功能。
为了使用以下任何库,您必须将库文件下载到您的 Android SDK 安装目录。按照Support Library Setup 中的说明下载支持库来完成此步骤。您必须执行额外步骤才能在应用中包含特定的支持库。请参阅下面每个库部分的末尾,了解有关如何在应用中包含该库的重要信息。
注意:所有支持库软件包的最低 SDK 版本至少为 API 级别 14。某些软件包需要更高的 API 级别,如下所述。
v4 支持库
与所有其他库相比,这些库包含最大范围的 API,包括对应用组件、用户界面功能、无障碍功能、数据处理、网络连接和编程实用工具的支持。
要详细了解 v4 支持库提供的类和方法,请参阅 API 参考文档中的 android.support.v4
软件包。
注意: 在 Support Library 修订版本 24.2.0 之前,只有一个 v4 支持库。该库被分为多个模块以提高效率。为了向后兼容,如果在 Gradle 脚本中列出 support-v4
,您的应用将包含所有 v4 模块。但是,为了减小应用大小,我们建议您仅列出应用所需的特定模块。
v4 compat 库
为许多框架 API 提供兼容性封装,例如 Context.obtainDrawable()
和 View.performAccessibilityAction()
。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:support-compat:28.0.0
v4 core-utils 库
提供一些实用工具类,例如 AsyncTaskLoader
和 PermissionChecker
。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:support-core-utils:28.0.0
v4 core-ui 库
实现各种 UI 相关组件,例如 ViewPager
、NestedScrollView
和 ExploreByTouchHelper
。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:support-core-ui:28.0.0
v4 media-compat 库
向后移植了媒体框架的一部分,包括 MediaBrowser
和 MediaSession
。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:support-media-compat:28.0.0
v4 fragment 库
添加了通过片段封装用户界面和功能的支持,使应用能够提供可在小屏幕和大屏幕设备之间调整的布局。此模块依赖于 compat、core-utils、core-ui 和 media-compat。
注意: v13 支持库提供 FragmentCompat
类。v4 Fragment
类是一个独立类,提供了后来平台版本中添加的 bug 修复,而 v13 FragmentCompat
类为框架实现的 Fragment
类提供了兼容性填充。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:support-fragment:28.0.0
Multidex 支持库
此库支持构建包含多个 Dalvik 可执行文件 (DEX) 的应用。引用方法数超过 65536 个的应用需要使用 multidex 配置。有关使用 multidex 的详细信息,请参阅构建方法数超过 64K 的应用。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:multidex:1.0.0
v7 支持库
这些库提供特定的功能集,并且可以相互独立地包含在您的应用中。
v7 appcompat 库 属于 Android Jetpack 的一部分。
注意:appcompat 库已迁移到 AndroidX 库,它是 Android Jetpack 的一个组件。请在 Sunflower 演示应用中查看其用法。
此库支持 操作栏 (Action Bar) 用户界面设计模式。此库包含对 Material Design 用户界面实现的支持。
注意:此库依赖于 v4 Support Library。
以下是 v7 appcompat 库中包含的一些关键类:
ActionBar
- 提供操作栏用户界面模式的实现。有关使用操作栏的详细信息,请参阅操作栏开发者指南。AppCompatActivity
- 添加一个应用 Activity 类,可用作使用 Support Library 操作栏实现的 Activity 的基类。AppCompatDialog
- 添加一个对话框类,可用作 AppCompat 主题对话框的基类。ShareActionProvider
- 支持可包含在操作栏中的标准化分享操作(例如电子邮件或发布到社交应用)。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:appcompat-v7:28.0.0
v7 cardview 库
此库支持 CardView
微件,通过该微件,您可以在卡片内显示信息,这些卡片在任何应用中都具有一致的外观。这些卡片对于 Material Design 实现非常有用,并广泛用于 TV 应用的布局中。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:cardview-v7:28.0.0
v7 gridlayout 库
下载 Android Support Libraries 后,此库支持 GridLayout
类,该类允许您使用矩形单元格网格排列用户界面元素。要详细了解 v7 gridlayout 库 API,请参阅 API 参考文档中的 android.support.v7.widget
软件包。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:gridlayout-v7:28.0.0
v7 mediarouter 库
此库提供 MediaRouter
、MediaRouteProvider
以及支持 Google Cast 的相关媒体类。
通常,v7 mediarouter 库中的 API 提供了一种方式,用于控制媒体通道和流从当前设备路由到外部屏幕、扬声器及其他目标设备。此库包含用于发布应用特有媒体路由提供程序、发现和选择目标设备、检查媒体状态等的 API。要详细了解 v7 mediarouter 库 API,请参阅 API 参考文档中的 android.support.v7.media
软件包。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:mediarouter-v7:28.0.0
Support Library r18 中引入的 v7 mediarouter 库 API 在 Support Library 后续修订版本中可能会有所更改。目前,我们建议仅在与 Google Cast 相关的情况下使用此库。
v7 palette 库
v7 palette 支持库包含 Palette
类,该类允许您从图像中提取主要颜色。例如,音乐应用可以使用 Palette
对象提取专辑封面的主要颜色,并使用这些颜色构建颜色协调的歌曲标题卡。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:palette-v7:28.0.0
v7 recyclerview 库
recyclerview 库添加了 RecyclerView
类。该类支持 RecyclerView 微件,这是一个通过提供有限的数据项窗口来高效显示大型数据集的视图。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:recyclerview-v7:28.0.0
v7 Preference 支持库
Preference 软件包提供 API,支持添加偏好设置对象(例如 CheckBoxPreference
和 ListPreference
),供用户修改 UI 设置。
v7 Preference 库添加了对接口(例如 Preference.OnPreferenceChangeListener
和 Preference.OnPreferenceClickListener
)和类(例如 CheckBoxPreference 和
ListPreference
)的支持。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:preference-v7:28.0.0
v8 支持库
此库提供特定的功能集,并且可以相互独立地包含在您的应用中。
v8 renderscript 库
此库支持 RenderScript 计算框架。这些 API 包含在 android.support.v8.renderscript
软件包中。您应该注意,在应用中包含这些 API 的步骤与其他支持库 API 非常不同。要详细了解如何在应用中使用这些 API,请参阅 RenderScript 开发者指南。
注意:使用 Android Studio 和基于 Gradle 的构建支持将 RenderScript 与支持库结合使用。renderscript 库位于 build-tools/$VERSION/renderscript/
文件夹中。
以下示例显示了此库的 Gradle 构建脚本属性
defaultConfig { renderscriptTargetApi 18 renderscriptSupportModeEnabled true }
v13 Support Library
此库通过 (FragmentCompat
) 类和额外的片段支持类,支持 Fragment 用户界面模式。要详细了解片段,请参阅片段开发者指南。要详细了解 v13 Support Library API,请参阅 API 参考文档中的 android.support.v13
软件包。
注意: v4 fragment 库提供 Fragment
类。v4 Fragment
类是一个独立类,提供了后来平台版本中添加的 bug 修复,而 v13 FragmentCompat
类为框架实现的 Fragment
类提供了兼容性填充。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:support-v13:28.0.0
v14 Preference Support Library
android.support.v14.preference
软件包提供 API,支持添加偏好设置接口(例如 PreferenceFragment.OnPreferenceStartFragmentCallback
和 PreferenceFragment.OnPreferenceStartScreenCallback
)以及类(例如 MultiSelectListPreference
和 PreferenceFragment
)。要详细了解 v14 Preference Support Library API,请参阅 API 参考文档中的Preference 软件包。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:preference-v14:28.0.0
适用于 TV 的 v17 Preference 支持库
android.support.v17.preference
软件包提供 API,用于在 TV 设备上提供偏好设置接口,包括对 LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener
接口和类(例如 BaseLeanbackPreferenceFragment
和 LeanbackPreferenceFragment
)的支持。要详细了解 v17 Preference Support Library API,请参阅 API 参考文档中的Preference 软件包。
此软件包需要 API 级别 17 或更高级别。此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:preference-leanback-v17:28.0.0
v17 Leanback 库
android.support.v17.leanback
软件包提供 API,支持在 TV 设备上构建用户界面。它为 TV 应用提供了许多重要的微件。一些值得注意的类包括
BrowseFragment
- 用于创建浏览媒体项类别和行的主要布局的片段。DetailsFragment
- Leanback 详细信息屏幕的包装片段。PlaybackOverlayFragment
-DetailsFragment
的子类,用于显示播放控件和相关内容。SearchFragment
- 用于处理搜索的片段。该片段接收用户的搜索请求,并将其传递给应用提供的SearchResultProvider
。SearchResultProvider
将搜索结果返回给SearchFragment
,后者将其渲染到RowsFragment
中。
此软件包需要 API 级别 17 或更高级别。此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:leanback-v17:28.0.0
Vector Drawable 库
提供对静态矢量图的支持。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:support-vector-drawable:28.0.0
Animated Vector Drawable 库
提供对动画矢量图的支持。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:animated-vector-drawable:28.0.0
Annotations 支持库
Annotation 软件包提供 API,支持向您的应用添加注解元数据。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:support-annotations:28.0.0
Design Support Library
Design 软件包提供 API,支持向您的应用添加 Material Design 组件和模式。
Design Support 库添加了对各种 Material Design 组件和模式的支持,供应用开发者在此基础上构建,例如导航抽屉、浮动操作按钮 (FAB)、snackbar 和标签页。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:design:28.0.0
Custom Tabs Support Library
Custom Tabs 软件包提供 API,支持在您的应用中添加和管理自定义标签页。
Custom Tabs Support 库添加了对各种类的支持,例如 Custom Tabs Service 和 Custom Tabs Callback。
此软件包需要 API 级别 15 或更高级别。此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:customtabs:28.0.0
Percent 支持库
Percent 软件包提供 API,支持在您的应用中添加和管理基于百分比的尺寸。
注意:自 26.0.0 版本起,Percent Support 库已弃用。此模块的使用者应迁移到新的 ConstraintLayout
微件,该微件在 SDK Manager 中作为单独的工件提供。
Percent Support 库添加了对 PercentLayoutHelper.PercentLayoutParams 接口和各种类(例如 PercentFrameLayout 和 PercentRelativeLayout)的支持。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:percent:28.0.0
ExifInterface 支持库
Exif 标签直接在 JPEG 或 RAW 文件中存储方向、日期和时间、相机信息以及位置等信息。ExifInterface
类提供独立支持,用于读取 JPEG 和原始格式文件(DNG、CR2、NEF、NRW、ARW、RW2、ORF、PEF、SRW 和 RAF)中的 Exif 信息,并设置 JPEG 图像文件中的 Exif 信息。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:exifinterface:28.0.0
适用于 TV 的应用推荐支持库
App Recommendation 软件包提供 API,支持在 TV 设备上运行的应用中添加内容推荐。
App 库添加了对注解(例如 ContentRecommendation.ContentMaturity)和各种类(例如 ContentRecommendation 和 RecommendationExtender)的支持。
此软件包需要 API 级别 21 或更高级别。此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:recommendation:28.0.0
Wear UI 库
此库包含用于构建 Wear 应用用户界面的 API。这些 API 位于 android.support.wear.widget 软件包中,取代了 Wearable Support Library 中对应的 API。
如需了解详情,请参阅使用 Wear UI 库。
此库的 Gradle 构建脚本依赖项标识符如下所示
com.android.support:wear:28.0.0