注意:随着 Android 9.0(API 级别 28)的发布,出现了一个名为 AndroidX 的新版 Support Library,它是 Jetpack 的一部分。AndroidX 库包含现有 Support Library,还包括最新的 Jetpack 组件。
您可以继续使用 Support Library。旧版构件(版本 27 及更早版本,打包为 android.support.*
)仍可在 Google Maven 上获取。但是,所有新的库开发都将在 AndroidX 库中进行。
我们建议在所有新项目中使用 AndroidX 库。您还应考虑将现有项目迁移到 AndroidX。
在您的开发项目中设置 Android Support Libraries 的方式取决于您要使用的功能以及您希望应用支持的 Android 平台版本范围。
本文档指导您下载 Support Library 软件包并将库添加到您的开发环境。
Support Libraries 现在可通过 Google 的 Maven 仓库获得。我们不再支持通过 SDK 管理器下载库,该功能很快将被移除。
选择 Support Library
在将 Support Library 添加到您的应用之前,确定您要包含哪些功能以及您要支持的最低 Android 版本。有关不同库提供的功能的更多信息,请参阅Support Library 功能。
添加 Support Library
要使用 Support Library,您必须修改开发环境内应用的项目的类路径依赖项。您必须为要使用的每个 Support Library 执行此过程。
将 Support Library 添加到您的应用项目
- 在项目的
settings.gradle
文件中包含 Google 的 Maven 仓库。dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() // If you're using a version of Gradle lower than 4.1, you must // instead use: // // maven { // url 'https://maven.google.com' // } } }
- 对于要使用 Support Library 的每个模块,请在模块的
build.gradle
文件的dependencies
块中添加库。例如,要添加 v4 core-utils 库,请添加以下内容dependencies { ... implementation "com.android.support:support-core-utils:28.0.0" }
注意:使用动态依赖项(例如 palette-v7:23.0.+
)可能会导致意外的版本更新和回溯不兼容。我们建议您明确指定库版本(例如 palette-v7:28.0.0
)。
使用 Support Library API
为现有框架 API 提供支持的 Support Library 类通常与框架类同名,但位于 android.support
类包中,或具有 *Compat
后缀。
注意:使用 Support Library 中的类时,请确保从相应的包导入类。例如,应用 ActionBar
类时
- 使用 Support Library 时为
android.support.v7.app.ActionBar
。 - 仅针对 API 级别 11 或更高版本进行开发时为
android.app.ActionBar
。
注意:将 Support Library 添加到您的应用项目后,我们强烈建议您对应用进行压缩、混淆和优化以进行发布。除了通过混淆保护您的源代码外,压缩还会移除您在应用中包含的任何库中未使用的类,从而使应用的下载大小尽可能小。
有关使用某些 Support Library 功能的进一步指导,请参阅 Android 开发者培训课程、指南和示例。有关单个 Support Library 类和方法的更多信息,请参阅 API 参考中的 android.support
包。
Manifest 声明更改
如果您使用 Support Library 提高了现有应用对早期 Android API 版本的向后兼容性,请确保更新应用的 manifest。特别是,您应该将 manifest 中 <uses-sdk>
标签的 android:minSdkVersion
元素更新为新的、较低的版本号,如下所示
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />
此 manifest 设置告知 Google Play 您的应用可以安装在搭载 Android 4.0(API 级别 14)及更高版本的设备上。
如果您使用 Gradle 构建文件,构建文件中的 minSdkVersion
设置将覆盖 manifest 设置。
plugins { id 'com.android.application' } android { ... defaultConfig { minSdkVersion 16 ... } ... }
在这种情况下,构建文件设置告知 Google Play 您的应用的默认构建变体可以安装在搭载 Android 4.1(API 级别 16)及更高版本的设备上。有关构建变体的更多信息,请参阅构建系统概览。
注意:如果您包含多个 support library,最低 SDK 版本必须是所有指定库要求的最高版本。例如,如果您的应用同时包含v14 Preference Support library 和v17 Leanback library,则您的最低 SDK 版本必须是 17 或更高版本。