支持库软件包

注意:随着支持库 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 库

提供多种实用工具类,例如 AsyncTaskLoaderPermissionChecker

此库的 Gradle 编译脚本依赖项标识符如下所示:

com.android.support:support-core-utils:28.0.0

v4 core-ui 库

实现各种与界面相关的组件,例如 ViewPagerNestedScrollViewExploreByTouchHelper

此库的 Gradle 编译脚本依赖项标识符如下所示:

com.android.support:support-core-ui:28.0.0

v4 media-compat 库

向后移植媒体框架的部分,包括 MediaBrowserMediaSession

此库的 Gradle 编译脚本依赖项标识符如下所示:

com.android.support:support-media-compat:28.0.0

v4 fragment 库

通过 Fragment 增加了对界面和功能封装的支持,让应用能够提供可在小屏幕和大屏幕设备之间进行调整的布局。此模块依赖于 compatcore-utilscore-uimedia-compat

注意v13 支持库提供了 FragmentCompat 类。v4 Fragment 类是一个独立的类,提供在更高平台版本中添加的问题修复,而 v13 FragmentCompat 类则为 Fragment 类的框架实现提供兼容性填充码。

此库的 Gradle 构建脚本依赖项标识符如下所示:

com.android.support:support-fragment:28.0.0

Multidex 支持库

此库通过多个 Dalvik 可执行文件 (DEX) 为构建应用提供支持。如果应用引用超过 65536 种方法,则必须使用多 dex 配置。如需详细了解如何使用多 dex,请参阅 以超过 64000 种方法编译应用

此库的 Gradle 编译脚本依赖项标识符如下所示:

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 微件的支持,让您能够在任何应用上具有一致外观的卡内显示信息。这些卡有助于进行 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 库

此库提供 MediaRouterMediaRouteProvider 以及支持 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 微件的支持,这是一个通过提供有限的数据项窗口来有效显示大型数据集的视图。

此库的 Gradle 编译脚本依赖项标识符如下所示:

com.android.support:recyclerview-v7:28.0.0

v7 Preference 支持库

Preference 软件包提供用于支持添加偏好设置对象的 API(例如 CheckBoxPreferenceListPreference),以便用户修改界面设置。

v7 Preference 库增加了对界面(例如 Preference.OnPreferenceChangeListenerPreference.OnPreferenceClickListener)和类(例如 CheckBoxPreferenceListPreference)的支持。

此库的 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 类是一个独立的类,它提供了在之后的平台版本中添加的问题修复,而 v13 FragmentCompat 类为 Fragment 类的框架实现提供了兼容性 shim。

此库的 Gradle 编译脚本依赖项标识符如下所示:

com.android.support:support-v13:28.0.0

v14 Preference 支持库

android.support.v14.preference 软件包提供用于添加偏好设置接口支持的 API(例如 PreferenceFragment.OnPreferenceStartFragmentCallbackPreferenceFragment.OnPreferenceStartScreenCallback),以及类(例如 MultiSelectListPreferencePreferenceFragment)。如需详细了解 v14 Preference 支持库 API,请参阅 API 参考文档中的 preference 软件包。

此库的 Gradle 编译脚本依赖项标识符如下所示:

com.android.support:preference-v14:28.0.0

适用于电视的 v17 Preference 支持库

android.support.v17.preference 软件包提供了用于在电视设备上提供偏好设置接口的 API,包括对 LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener 接口和类的支持,例如 BaseLeanbackPreferenceFragmentLeanbackPreferenceFragment。如需详细了解 v17 Preference 支持库 API,请参阅 API 参考文档中的 preference 软件包。

此软件包需要 API 级别 17 或更高级别。此库的 Gradle 编译脚本依赖项标识符如下所示:

 com.android.support:preference-leanback-v17:28.0.0 

v17 Leanback 库

android.support.v17.leanback 软件包提供用于支持在 TV 设备上构建界面的 API。它提供了一些适用于电视应用的重要微件。一些重要的类包括:

此软件包需要 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 支持库

Design 软件包提供用于支持向应用添加 Material Design 组件和模式的 API。

Design 支持库增加了对各种 Material Design 组件和模式的支持,以便应用开发者在此基础上进行构建,例如抽屉式导航栏、悬浮操作按钮 (FAB)、信息提示控件和标签页

此库的 Gradle 编译脚本依赖项标识符如下所示:

com.android.support:design:28.0.0

Custom Tabs 支持库

Custom Tabs 软件包提供用于支持在应用中添加和管理自定义标签页的 API。

Custom Tabs 支持库增加了对各种类的支持,例如自定义标签页服务自定义标签页回调

此软件包需要 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 编译脚本依赖项标识符如下所示:

com.android.support:exifinterface:28.0.0

适用于电视的 App Recommendation 支持库

App Recommendation 软件包提供用于支持在电视设备上运行的应用中添加内容推荐的 API。

App 库增加了对注解(例如 ContentRecommendation.ContentMaturity)和各种类(例如 ContentRecommendation RecommendationExtender)的支持。

此软件包需要 API 级别 21 或更高级别。此库的 Gradle 编译脚本依赖项标识符如下所示:

com.android.support:recommendation:28.0.0

Wear 界面库

此库包含用于为 Wear 应用构建界面的 API。这些 API 在 android.support.wear.widget 软件包中提供,可替代 Wearable 支持库中的相应 API。

如需了解详情,请参阅 使用 Wear 界面库

此库的 Gradle 构建脚本依赖项标识符如下所示:

com.android.support:wear:28.0.0