支持库软件包

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

提供一些实用工具类,例如 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 类是一个独立类,提供了后来平台版本中添加的 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 库

此库提供 MediaRouterMediaRouteProvider 以及支持 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,支持添加偏好设置对象(例如 CheckBoxPreferenceListPreference),供用户修改 UI 设置。

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 的构建支持将 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.OnPreferenceStartFragmentCallbackPreferenceFragment.OnPreferenceStartScreenCallback)以及类(例如 MultiSelectListPreferencePreferenceFragment)。要详细了解 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 接口和类(例如 BaseLeanbackPreferenceFragmentLeanbackPreferenceFragment)的支持。要详细了解 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 应用提供了许多重要的微件。一些值得注意的类包括

此软件包需要 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 ServiceCustom 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