注意:随着 Support Library 28.0.0 的发布,android.support
打包的库已弃用,并被单独版本化的 Jetpack 库替换,这些库打包为 androidx
。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
库。您还应该考虑 迁移 现有项目,以确保它们继续收到错误修复和其他库改进。
Android 支持库包含多个库软件包,可以将其包含在您的应用中。这些库中的每一个都支持特定范围的 Android 平台版本和一组功能。
要使用以下任何库,您必须将库文件下载到您的 Android SDK 安装目录。按照 支持库设置 中下载支持库的说明完成此步骤。您必须采取其他步骤才能将特定的支持库包含在您的应用中。请参阅下面每个库部分的末尾,了解有关如何在您的应用中包含该库的重要信息。
注意:所有支持库软件包的最小 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 库
提供许多实用程序类,例如 AsyncTaskLoader
和 PermissionChecker
。
此库的 Gradle 构建脚本依赖项标识符如下
com.android.support:support-core-utils:28.0.0
v4 core-ui 库
实现各种与 UI 相关的组件,例如 ViewPager
、NestedScrollView
和 ExploreByTouchHelper
。
此库的 Gradle 构建脚本依赖项标识符如下
com.android.support:support-core-ui:28.0.0
v4 media-compat 库
回溯 media 框架的部分内容,包括 MediaBrowser
和 MediaSession
。
此库的 Gradle 构建脚本依赖项标识符如下
com.android.support:support-media-compat:28.0.0
v4 fragment 库
使用 片段 添加对封装用户界面和功能的支持,使应用能够提供在小屏幕和大屏幕设备之间调整的布局。此模块依赖于 compat、core-utils、core-ui 和 media-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 演示应用中查看它的使用情况。
此库为 操作栏 用户界面 设计模式 添加支持。此库包括对 材质设计 用户界面实现的支持。
注意:此库依赖于 v4 支持库。
以下是 v7 appcompat 库中包含的一些关键类
ActionBar
- 提供对操作栏 用户界面模式 的实现。有关使用操作栏的更多信息,请参见 操作栏 开发者指南。AppCompatActivity
- 添加一个应用程序活动类,可作为使用支持库操作栏实现的活动的基类。AppCompatDialog
- 添加一个对话框类,可作为 AppCompat 主题对话框的基类。ShareActionProvider
- 添加对标准化共享操作(例如电子邮件或发布到社交应用程序)的支持,这些操作可以包含在操作栏中。
此库的 Gradle 构建脚本依赖项标识符如下
com.android.support:appcompat-v7:28.0.0
v7 cardview 库
此库添加了对 CardView
小部件的支持,使您可以在任何应用程序中以一致的外观显示卡片内的信息。这些卡片对于物料设计实现很有用,并且广泛用于电视应用程序的布局。
此库的 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 小部件的支持,该小部件是通过提供有限的数据项窗口来有效显示大型数据集的视图。
此库的 Gradle 构建脚本依赖项标识符如下
com.android.support:recyclerview-v7:28.0.0
v7 首选项支持库
preference 包提供 API 以支持添加首选项对象,例如 CheckBoxPreference
和 ListPreference
,供用户修改 UI 设置。
v7 首选项库添加了对接口的支持,例如 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 开发者指南。
注意: 使用支持库的 RenderScript 与 Android Studio 和基于 Gradle 的构建支持。renderscript 库位于 build-tools/$VERSION/renderscript/
文件夹中。
以下示例显示了此库的 Gradle 构建脚本属性
defaultConfig { renderscriptTargetApi 18 renderscriptSupportModeEnabled true }
v13 支持库
此库添加了对使用 (FragmentCompat
) 类和附加片段支持类的 片段 用户界面模式的支持。有关片段的更多信息,请参见 片段 开发者指南。有关 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.OnPreferenceStartFragmentCallback
和 PreferenceFragment.OnPreferenceStartScreenCallback
,以及类,例如 MultiSelectListPreference
和 PreferenceFragment
。有关 v14 首选项支持库 API 的详细信息,请参见 API 参考中的 preference 包。
此库的 Gradle 构建脚本依赖项标识符如下
com.android.support:preference-v14:28.0.0
v17 针对电视的 首选项支持库
android.support.v17.preference
包提供 API 以在电视设备上提供首选项接口,包括对 LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener
接口的支持,以及类,例如 BaseLeanbackPreferenceFragment
和 LeanbackPreferenceFragment
。有关 v17 首选项支持库 API 的详细信息,请参见 API 参考中的 preference 包。
此包需要 API 级别 17 或更高版本。此库的 Gradle 构建脚本依赖项标识符如下
com.android.support:preference-leanback-v17:28.0.0
v17 Leanback 库
android.support.v17.leanback
包提供 API 以支持在电视设备上构建用户界面。它为电视应用程序提供了一些重要的窗口小部件。一些值得注意的类包括
BrowseFragment
- 用于创建用于浏览类别和媒体项目行的主要布局的片段。DetailsFragment
- 用于 Leanback 详细信息屏幕的包装片段。PlaybackOverlayFragment
- 用于显示播放控件和相关内容的DetailsFragment
的子类。SearchFragment
- 用于处理搜索的片段。该片段接收用户的搜索请求并将其传递给应用程序提供的SearchResultProvider
。SearchResultProvider
将搜索结果返回给SearchFragment
,它将它们渲染到RowsFragment
中。
此包需要 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 以支持将物料设计组件和模式添加到您的应用程序。
设计支持库为应用程序开发者添加了对各种物料设计组件和模式的支持,这些组件和模式可以构建,例如导航抽屉、浮动操作按钮 (FAB)、snackbar 和 选项卡。
此库的 Gradle 构建脚本依赖项标识符如下
com.android.support:design:28.0.0
自定义选项卡支持库
Custom Tabs 包提供 API 以支持在您的应用程序中添加和管理自定义选项卡。
自定义选项卡支持库为各种类添加了支持,例如 Custom Tabs Service 和 Custom 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
适用于 TV 的应用推荐支持库
应用推荐 包提供 API,支持在您的 TV 设备上运行的应用中添加内容推荐。
应用库添加了对注释的支持,例如 ContentRecommendation.ContentMaturity 以及各种类,例如 ContentRecommendation 和 RecommendationExtender。
此包需要 API 级别 21 或更高版本。此库的 Gradle 构建脚本依赖项标识符如下所示:
com.android.support:recommendation:28.0.0
Wear UI 库
此库具有用于构建 Wear 应用的用户界面的 API。这些 API 可在 android.support.wear.widget 包中使用,它们取代了可穿戴设备支持库中的相应 API。
有关更多信息,请参阅 使用 Wear UI 库。
此库的 Gradle 构建脚本依赖项标识符如下
com.android.support:wear:28.0.0