支持库软件包

注意:发布支持库 28.0.0 后,android.support 打包的库已弃用,并被单独版本化的 Jetpack 库(打包为 androidx)取代。Jetpack 库的初始版本 1.0.0 与支持库 28.0.0 功能对等,为迁移到新的 androidx 打包方式提供了起点。

现有的 android.support 打包的库将继续工作;但是,它们将不会收到 28.0.0 之后的任何更新,并且将与新的 Jetpack 库不兼容。旧版本 artifact(版本 27 及更早版本,打包为 android.support)将继续在 Google Maven 上提供。所有新的 artifact 都将打包为 androidx,并且需要从 android.support 迁移androidx

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

Android 支持库包含多个可在应用中包含的库软件包。每个库都支持特定范围的 Android 平台版本和一组功能。

要使用以下任何库,您必须将库文件下载到您的 Android SDK 安装目录。按照设置支持库中关于下载支持库的说明完成此步骤。您必须采取额外步骤才能在应用中包含特定的支持库。有关如何在应用中包含库的重要信息,请参阅下面每个库部分的末尾。

注意:所有支持库软件包的最低 SDK 版本至少为 API level 14。某些软件包需要更高的 API level,如下所述。

v4 支持库

与其他库相比,这些库包含最大的 API 集,包括对应用组件、用户界面功能、无障碍功能、数据处理、网络连接和编程实用工具的支持。

有关 v4 支持库提供的类和方法的完整详细信息,请参阅 API 参考中的 android.support.v4 软件包。

注意:在支持库修订版本 24.2.0 之前,v4 支持库是单个库。为了提高效率,该库被分为多个模块。为了向后兼容,如果您在 Gradle 脚本中列出 support-v4,您的应用将包含所有 v4 模块。但是,为了减小应用大小,我们建议您只列出应用所需的特定模块。

v4 兼容库

为许多框架 API(例如 Context.obtainDrawable()View.performAccessibilityAction())提供兼容性包装器。

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

com.android.support:support-compat:28.0.0

v4 核心工具库

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

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

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

v4 核心界面库

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

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

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

v4 媒体兼容库

回移植媒体框架的部分内容,包括 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 Executable (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 - 添加一个应用 Activity 类,该类可用作使用支持库操作栏实现的 Activity 的基类。
  • AppCompatDialog - 添加一个 Dialog 类,该类可用作 AppCompat 主题对话框的基类。
  • ShareActionProvider - 增加对标准分享操作(例如电子邮件或发布到社交应用)的支持,该操作可包含在操作栏中。

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

com.android.support:appcompat-v7:28.0.0

v7 CardView 库

此库增加了对 CardView Widget 的支持,您可以在卡片中显示信息,这些卡片在任何应用中都具有一致的外观。这些卡片对于 Material Design 实现非常有用,并且在 TV 应用的布局中广泛使用。

此库的 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 Widget 的支持,这是一种通过提供有限的数据项窗口来高效显示大型数据集的 View。

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

com.android.support:recyclerview-v7:28.0.0

v7 Preference 支持库

preference 软件包提供 API,支持添加 Preference 对象(例如 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 的构建支持在支持库中使用 RenderScript。renderscript 库位于 build-tools/$VERSION/renderscript/ 文件夹中。

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

defaultConfig {
    renderscriptTargetApi 18
    renderscriptSupportModeEnabled true
}

v13 支持库

此库增加了对 Fragment 用户界面模式的支持,包括 (FragmentCompat) 类和额外的 Fragment 支持类。有关 Fragment 的更多信息,请参阅Fragment开发者指南。有关 v13 支持库 API 的详细信息,请参阅 API 参考中的 android.support.v13 软件包。

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

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

com.android.support:support-v13:28.0.0

v14 Preference 支持库

android.support.v14.preference 软件包提供 API,用于增加对 Preference 接口(例如 PreferenceFragment.OnPreferenceStartFragmentCallbackPreferenceFragment.OnPreferenceStartScreenCallback)以及类(例如 MultiSelectListPreferencePreferenceFragment)的支持。有关 v14 Preference 支持库 API 的详细信息,请参阅 API 参考中的preference 软件包。

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

com.android.support:preference-v14:28.0.0

v17 适用于 TV 的 Preference 支持库

android.support.v17.preference 软件包提供 API,用于在 TV 设备上提供 Preference 界面,包括对 LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener 接口以及类(例如 BaseLeanbackPreferenceFragmentLeanbackPreferenceFragment)的支持。有关 v17 Preference 支持库 API 的详细信息,请参阅 API 参考中的preference 软件包。

此软件包要求 API level 17 或更高。此库的 Gradle 构建脚本依赖项标识符如下所示

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

v17 Leanback 库

android.support.v17.leanback 软件包提供 API,支持在 TV 设备上构建用户界面。它为 TV 应用提供了许多重要的 Widget。一些著名的类包括

此软件包要求 API level 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,支持将 annotation 元数据添加到您的应用。

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

com.android.support:support-annotations:28.0.0

Design 支持库

Design 软件包提供 API,支持将 Material Design 组件和模式添加到您的应用。

Design 支持库增加了对应用开发者可基于此构建的各种 Material Design 组件和模式的支持,例如导航抽屉、浮动操作按钮 (FAB)、Snackbar 和标签页

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

com.android.support:design:28.0.0

Custom Tabs 支持库

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

Custom Tabs 支持库增加了对各种类的支持,例如 Custom Tabs ServiceCustom Tabs Callback

此软件包要求 API level 15 或更高。此库的 Gradle 构建脚本依赖项标识符如下所示

com.android.support:customtabs:28.0.0

Percent 支持库

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

注意:自版本 26.0.0 起,Percent 支持库已弃用。此模块的用户应迁移到新的 ConstraintLayout Widget,该 Widget 作为单独的 artifact 在 SDK Manager 中提供。

Percent 支持库增加了对 PercentLayoutHelper.PercentLayoutParams 接口以及各种类(例如 PercentFrameLayout PercentRelativeLayout)的支持。

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

com.android.support:percent:28.0.0

ExifInterface 支持库

Exif 标签直接在 JPEG 或 RAW 文件中存储方向、日期和时间、相机信息和位置等信息。ExifInterface 类解除了对从 JPEG 和 RAW(DNG、CR2、NEF、NRW、ARW、RW2、ORF、PEF、SRW 和 RAF)格式文件读取 Exif 信息以及在 JPEG 图像文件上设置 Exif 信息捆绑的支持。

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

com.android.support:exifinterface:28.0.0

适用于 TV 的 App Recommendation 支持库

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

此 App 库增加了对 annotation(例如 ContentRecommendation.ContentMaturity)以及各种类(例如 ContentRecommendation RecommendationExtender)的支持。

此软件包要求 API level 21 或更高。此库的 Gradle 构建脚本依赖项标识符如下所示

com.android.support:recommendation:28.0.0

Wear UI 库

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

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

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

com.android.support:wear:28.0.0