支持库包

注意:随着支持库 28.0.0 的发布,android.support 包含的库已弃用,并被独立版本化的 Jetpack 库替换,这些库打包为 androidx。Jetpack 库的初始 1.0.0 版本与支持库 28.0.0 相同,并提供了一个起点,可以 迁移 到新的 androidx 包。

现有的 android.support 包含的库将继续工作;但是,它们不会收到 28.0.0 以外的任何更新,并且与新的 Jetpack 库不兼容。历史工件(版本为 27 及更早版本,并打包为 android.support)将在 Google Maven 上保留。所有新的工件将打包为 androidx,并将需要从 android.support 迁移到 androidx

我们建议在所有新项目中使用 androidx 库。您还应考虑 迁移 现有项目以确保它们继续接收错误修复和其他库改进。

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 库

实现各种与 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 库

使用 片段 添加对封装用户界面和功能的支持,使应用程序能够提供在小屏幕和大屏幕设备之间调整的布局。此模块依赖于 compatcore-utilscore-uimedia-compat

注意:v13 支持库 提供了 FragmentCompat 类。v4 Fragment 类是一个独立类,它提供了在更高平台版本中添加的错误修复,而 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 演示应用程序中查看它的使用方式。

该库添加了对 操作栏 用户界面 设计模式 的支持。该库包括对 Material Design 用户界面实现的支持。

注意: 该库依赖于 v4 支持库。

以下是 v7 appcompat 库中包含的一些关键类。

  • ActionBar - 提供操作栏 用户界面模式 的实现。有关使用操作栏的更多信息,请参见 操作栏 开发人员指南。
  • AppCompatActivity - 添加一个应用程序活动类,可用作使用支持库操作栏实现的活动的基类。
  • 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 包提供 API 来支持添加首选项对象,例如 CheckBoxPreferenceListPreference,供用户修改 UI 设置。

v7 首选项库添加了对接口的支持,例如 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 开发人员指南。

注意: 使用支持库的 RenderScript 支持 Android Studio 和基于 Gradle 的构建。renderscript 库位于 build-tools/$VERSION/renderscript/ 文件夹中。

以下示例显示了此库的 Gradle 构建脚本属性。

defaultConfig {
    renderscriptTargetApi 18
    renderscriptSupportModeEnabled true
}

v13 支持库

该库添加了对 Fragment 用户界面模式的支持,包括 (FragmentCompat) 类和其他片段支持类。有关片段的更多信息,请参见 Fragments 开发人员指南。有关 v13 支持库 API 的详细信息,请参见 API 参考中的 android.support.v13 包。

注意: v4 片段库 提供 Fragment 类。v4 Fragment 类是一个独立的类,它提供了在后续平台版本中添加的错误修复,而 v13 FragmentCompat 类为 Fragment 类的框架实现提供了兼容性垫片。

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

com.android.support:support-v13:28.0.0

v14 首选项支持库

android.support.v14.preference 包提供 API 来支持添加首选项接口,例如 PreferenceFragment.OnPreferenceStartFragmentCallbackPreferenceFragment.OnPreferenceStartScreenCallback,以及类,例如 MultiSelectListPreferencePreferenceFragment。有关 v14 首选项支持库 API 的详细信息,请参见 API 参考中的 preference 包。

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

com.android.support:preference-v14:28.0.0

v17 首选项支持库(适用于电视)

android.support.v17.preference 包提供 API 来支持在电视设备上提供首选项接口,包括对 LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener 接口和类(例如 BaseLeanbackPreferenceFragmentLeanbackPreferenceFragment)的支持。有关 v17 首选项支持库 API 的详细信息,请参见 API 参考中的 preference 包。

此包需要 API 级别 17 或更高版本。此库的 Gradle 构建脚本依赖项标识符如下

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

v17 Leanback 库

android.support.v17.leanback 包提供 API 来支持在电视设备上构建用户界面。它为电视应用程序提供了一些重要的窗口小部件。一些值得注意的类包括

此包需要 API 级别 17 或更高版本。此库的 Gradle 构建脚本依赖项标识符如下

com.android.support:leanback-v17:28.0.0

矢量可绘制库

提供对静态矢量图形的支持。

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

com.android.support:support-vector-drawable:28.0.0

动画矢量可绘制库

提供对动画矢量图形的支持。

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

com.android.support:animated-vector-drawable:28.0.0

注释支持库

Annotation 包提供 API 来支持将注释元数据添加到您的应用程序中。

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

com.android.support:support-annotations:28.0.0

设计支持库

Design 包提供 API 来支持将 Material Design 组件和模式添加到您的应用程序中。

设计支持库添加了对各种 Material Design 组件和模式的支持,供应用程序开发人员构建,例如导航抽屉、浮动操作按钮 (FAB)、snackbar 和 标签

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

com.android.support:design:28.0.0

自定义标签支持库

Custom Tabs 包提供 API 来支持在您的应用程序中添加和管理自定义标签。

自定义标签支持库添加了对各种类的支持,例如 Custom Tabs ServiceCustom Tabs Callback

此包需要 API 级别 15 或更高版本。此库的 Gradle 构建脚本依赖项标识符如下

com.android.support:customtabs:28.0.0

百分比支持库

Percent 包提供 API 来支持在您的应用程序中添加和管理基于百分比的尺寸。

注意: 从 26.0.0 版本开始,百分比支持库已弃用。此模块的客户端应迁移到新的 ConstraintLayout 小部件,该小部件作为 SDK 管理器中的单独工件提供。

百分比支持库添加了对 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

适用于电视的应用程序推荐支持库

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

应用库增加了对注释的支持,例如 ContentRecommendation.ContentMaturity 以及各种类,例如 ContentRecommendation RecommendationExtender

此包要求 API 级别 21 或更高。此库的 Gradle 构建脚本依赖项标识符如下:

com.android.support:recommendation:28.0.0

Wear UI 库

此库提供 API 用于构建 Wear 应用的用户界面。这些 API 位于 android.support.wear.widget 包中,取代了 Wearable 支持库中的相应 API。

有关更多信息,请参见 使用 Wear UI 库

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

com.android.support:wear:28.0.0