注意:支持库 28.0.0 发布后,以 android.support
打包的库已弃用,取而代之的是打包为 androidx
的单独版本化 Jetpack 库。Jetpack 库的初始 1.0.0 版本提供与支持库 28.0.0 的功能相当,并为迁移到新的 androidx
打包提供了起点。
以 android.support
打包的现有库将继续正常运行;不过,它们将不会再收到 28.0.0 之后的任何更新,并且与新的 Jetpack 库不兼容。
历史工件(27 及更早版本,打包为 android.support
的工件)在 Google Maven 中仍然可用。所有新工件都将打包为 androidx
,并且需要从 android.support
迁移到 androidx
。
我们建议在所有新项目中使用 androidx
库。您还应考虑迁移现有项目,以确保它们继续接收 bug 修复和库方面的其他改进。
Android 支持库包含多个可添加到您的应用中的库软件包。其中每个库均支持一系列特定 Android 平台版本和功能。
要使用以下任何库,您必须将库文件下载到 Android SDK 安装中。请按照支持库设置中下载支持库的说明完成此步骤。您必须执行额外的步骤才能在应用中包含特定的支持库。有关如何在应用中添加库的重要信息,请参阅下文各个库部分的结尾。
注意:所有支持库软件包的最低 SDK 版本都至少为 API 级别 14。某些软件包需要更高的 API 级别,如下所述。
v4 支持库
与其他库相比,这些库包含的 API 最多,其中包括对应用组件、界面功能、无障碍功能、数据处理、网络连接和编程实用程序的支持。
如需全面、详细地了解 v4 支持库提供的类和方法,请参阅 API 参考文档中的 android.support.v4
软件包。
注意:在支持库修订版 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 build 脚本依赖项标识符如下所示:
com.android.support:support-core-utils:28.0.0
v4 core-ui 库
实现各种与界面相关的组件,例如 ViewPager
、NestedScrollView
和 ExploreByTouchHelper
。
此库的 Gradle build 脚本依赖项标识符如下所示:
com.android.support:support-core-ui:28.0.0
v4 media-compat 库
向后移植媒体框架部分,包括 MediaBrowser
和 MediaSession
。
此库的 Gradle build 脚本依赖项标识符如下所示:
com.android.support:support-media-compat:28.0.0
v4 fragment 库
添加了对使用 fragment 封装界面和功能的支持,使应用能够提供可在小屏幕和大屏设备之间进行调整的布局。此模块依赖于 compat、core-utils、core-ui 和 media-compat。
注意:v13 支持库提供了一个 FragmentCompat
类。v4 Fragment
类是一个独立的类,用于提供在后续平台版本中添加的 bug 修复,而 v13 FragmentCompat
类为 Fragment
类的框架实现提供兼容性填充码。
此库的 Gradle build 脚本依赖项标识符如下所示:
com.android.support:support-fragment:28.0.0
Multidex 支持库
此库支持使用多个 Dalvik 可执行文件 (DEX) 文件构建应用。如果应用引用超过 65536 种方法,则必须使用多 dex 配置。如需详细了解如何使用 MultiDex,请参阅 使用超过 6.4 万种方法构建应用。
此库的 Gradle build 脚本依赖项标识符如下所示:
com.android.support:multidex:1.0.0
v7 支持库
这些库提供特定的功能集,并且可以独立包含在您的应用中。
v7 appcompat 库 Android Jetpack 的一部分。
注意:appcompat 库已迁移到 AndroidX 库,后者是一个 Android Jetpack 组件。您可以在 Sunflower 演示应用中查看它的使用情况。
此库增加了对操作栏界面设计模式的支持。此库支持 Material Design 界面实现。
注意:此库依赖于 v4 支持库。
以下是 v7 appcompat 库中包含的几个关键类:
ActionBar
- 提供操作栏界面模式的实现。如需详细了解如何使用操作栏,请参阅操作栏开发者指南。AppCompatActivity
- 添加了一个应用 activity 类,该类可用作使用支持库操作栏实现的 activity 的基类。AppCompatDialog
- 添加了一个对话框类,可用作 AppCompat 主题对话框的基类。ShareActionProvider
- 添加了对可包含在操作栏中的标准化分享操作(例如发送电子邮件或发布到社交应用)的支持。
此库的 Gradle 编译脚本依赖项标识符如下所示:
com.android.support:appcompat-v7:28.0.0
v7 cardview 库
此库增加了对 CardView
widget 的支持,可让您在任何应用中具有一致外观的卡片内显示信息。这些卡片对于 Material Design 实现很有用,并且广泛用于电视应用的布局。
此库的 Gradle 编译脚本依赖项标识符如下所示:
com.android.support:cardview-v7:28.0.0
v7 gridlayout 库
下载 Android 支持库后,此库会添加对 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
支持库 r18 中引入的 v7 mediarouter 库 API 可能会在支持库的后续版本中发生变化。目前,我们建议仅使用与 Google Cast 相关的库。
v7 palette 库
v7 Palette 支持库包含 Palette
类,可用于从图片中提取突出颜色。例如,音乐应用可以使用 Palette
对象从专辑封面中提取主要颜色,然后使用这些颜色构建颜色协调的歌曲片名卡片。
此库的 Gradle 编译脚本依赖项标识符如下所示:
com.android.support:palette-v7:28.0.0
v7 recyclerview 库
recyclerview 库添加了 RecyclerView
类。此类为 RecyclerView widget 提供支持,该视图可以通过提供有限的数据项窗口来高效显示大型数据集。
此库的 Gradle 编译脚本依赖项标识符如下所示:
com.android.support:recyclerview-v7:28.0.0
v7 Preference 支持库
preference 软件包提供的 API 支持添加偏好设置对象(例如 CheckBoxPreference
和 ListPreference
),以便用户修改界面设置。
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 的 build 支持将 RenderScript 与支持库配合使用。renderscript 库位于 build-tools/$VERSION/renderscript/
文件夹中。
以下示例展示了此库的 Gradle 编译脚本属性:
defaultConfig { renderscriptTargetApi 18 renderscriptSupportModeEnabled true }
v13 支持库
此库通过 (FragmentCompat
) 类和其他 Fragment 支持类增加了对 Fragment 界面模式的支持。如需详细了解 fragment,请参阅 fragment 开发者指南。如需详细了解 v13 支持库 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 支持库
android.support.v14.preference
软件包提供了用于添加对偏好设置接口(例如 PreferenceFragment.OnPreferenceStartFragmentCallback
和 PreferenceFragment.OnPreferenceStartScreenCallback
)以及类(例如 MultiSelectListPreference
和 PreferenceFragment
)的支持。如需详细了解 v14 Preference 支持库 API,请参阅 API 参考文档中的 preference 软件包。
此库的 Gradle 编译脚本依赖项标识符如下所示:
com.android.support:preference-v14:28.0.0
适用于电视的 v17 Preference 支持库
android.support.v17.preference
软件包提供了用于在 TV 设备上提供偏好设置接口的 API,包括支持 LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener
接口和类,例如 BaseLeanbackPreferenceFragment
和 LeanbackPreferenceFragment
。如需详细了解 v17 Preference 支持库 API,请参阅 API 参考文档中的 preference 软件包。
此软件包需要 API 级别 17 或更高级别。此库的 Gradle build 脚本依赖项标识符如下所示:
com.android.support:preference-leanback-v17:28.0.0
v17 Leanback 库
android.support.v17.leanback
软件包提供了用于支持在 TV 设备上构建界面的 API。它提供了一些适用于电视应用的重要微件。一些重要的类包括:
BrowseFragment
- 用于创建主要布局的 fragment,用于浏览媒体项的类别和行。DetailsFragment
- 用于 Leanback 详情屏幕的封装容器 fragment。PlaybackOverlayFragment
-DetailsFragment
的子类,用于显示播放控件和相关内容。SearchFragment
- 用于处理搜索的 fragment。该 fragment 接收用户的搜索请求,并将其传递给应用提供的SearchResultProvider
。SearchResultProvider
会将搜索结果返回给SearchFragment
,后者会将其呈现到RowsFragment
中。
此软件包需要 API 级别 17 或更高级别。此库的 Gradle build 脚本依赖项标识符如下所示:
com.android.support:leanback-v17:28.0.0
Vector Drawable 库
提供对静态矢量图形的支持。
此库的 Gradle build 脚本依赖项标识符如下所示:
com.android.support:support-vector-drawable:28.0.0
Animated Vector Drawable 库
提供对动画矢量图形的支持。
此库的 Gradle build 脚本依赖项标识符如下所示:
com.android.support:animated-vector-drawable:28.0.0
Annotations 支持库
Annotation 软件包提供了用于支持向应用添加注释元数据的 API。
此库的 Gradle 编译脚本依赖项标识符如下所示:
com.android.support:support-annotations:28.0.0
Design 支持库
Design 软件包提供的 API 支持向应用添加 Material Design 组件和图案。
Design 支持库增加了对各种 Material Design 组件和模式的支持,供应用开发者在此基础上进行构建,例如抽屉式导航栏、悬浮操作按钮 (FAB)、信息提示控件和标签页。
此库的 Gradle 编译脚本依赖项标识符如下所示:
com.android.support:design:28.0.0
Custom Tabs 支持库
Custom Tabs 软件包提供的 API 支持在应用中添加和管理自定义标签页。
自定义标签页支持库增加了对各种类的支持,例如自定义标签页服务和自定义标签页回调。
此软件包需要 API 级别 15 或更高级别。此库的 Gradle 编译脚本依赖项标识符如下所示:
com.android.support:customtabs:28.0.0
Percent 支持库
Percent 软件包提供用于支持在应用中添加和管理基于百分比的维度的 API。
注意:从 26.0.0 版开始,Percent 支持库已弃用。此模块的客户端应迁移到新的 ConstraintLayout
widget,此 widget 作为 SDK 管理器中的单独工件提供。
Percent 支持库增加了对 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 build 脚本依赖项标识符如下所示:
com.android.support:exifinterface:28.0.0
适用于电视的 App Recommendation 支持库
App Recommendation 软件包提供了用于支持在 TV 设备上运行的应用中添加内容推荐的 API。
App 库增加了对注释(例如 ContentRecommendation.ContentMaturity)和各种类(例如 ContentRecommendation 和 RecommendationExtender)的支持。
此软件包需要 API 级别 21 或更高级别。此库的 Gradle 编译脚本依赖项标识符如下所示:
com.android.support:recommendation:28.0.0
Wear 界面库
此库包含用于为 Wear 应用构建界面的 API。 android.support.wear.widget 软件包中提供的 API 取代了穿戴式设备支持库中的相应 API。
如需了解详情,请参阅 使用 Wear 界面库。
此库的 Gradle build 脚本依赖项标识符如下所示:
com.android.support:wear:28.0.0