支持库设置

注意:Android 9.0(API 级别 28)发布后,新版支持库 AndroidX 也随之诞生,它属于 Jetpack 的一部分。除了现有的支持库,AndroidX 库还包含最新的 Jetpack 组件。

您可以继续使用此支持库。以往的工件(这里指的是打包为 android.support.* 的 27 版及更早版本)在 Google Maven 中仍然可用。不过,所有新库的开发都将在 AndroidX 库中进行。

我们建议在所有新项目中使用 AndroidX 库。您还应该考虑将现有项目迁移到 AndroidX。

如何在开发项目中设置 Android 支持库取决于您要使用的功能,以及您希望应用支持的 Android 平台版本范围。

本文档将指导您下载支持库软件包以及将库添加到开发环境中。

现在,您可以通过 Google 的 Maven 制品库获取支持库。我们不再支持通过 SDK 管理器下载库,并且该功能很快就会被移除。

选择支持库

在将支持库添加到应用之前,请确定要包含的功能以及想要支持的最低 Android 版本。如需详细了解不同的库提供的功能,请参阅支持库功能

添加支持库

要使用支持库,您必须在开发环境中修改应用项目的类路径依赖项。您必须针对要使用的每个支持库执行此过程。

如需将支持库添加到应用项目中,请执行以下操作:

  1. 在项目的 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'
            // }
        }
    }
    
  2. 对于要在其中使用支持库的每个模块,请在模块的 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)。

使用支持库 API

为现有框架 API 提供支持的支持库类通常与框架类同名,但位于 android.support 类软件包中,或带有 *Compat 后缀。

注意:使用支持库中的类时,请务必从相应的软件包导入类。例如,应用 ActionBar 类时:

  • 如果使用支持库,请从 android.support.v7.app.ActionBar 导入。
  • 如果仅针对 API 级别 11 或更高级别进行开发,请从 android.app.ActionBar 导入。

注意:将支持库添加到应用项目后,我们强烈建议您对要发布的应用进行缩减、混淆处理和优化。除了通过混淆保护源代码保护源代码之外,压缩功能还会从添加到应用中的所有库中移除未使用的类,使应用的下载大小尽可能小。

如需详细了解如何使用支持库的某些功能,请参阅 Android 开发者培训课程指南和示例。如需详细了解支持库中的各个类和方法,请参阅 API 参考文档中的 android.support 软件包。

清单声明变更

如果您要增加现有应用对具有支持库的早期版本的 Android API 的向后兼容性,请务必更新应用的清单。具体而言,您应将清单中 <uses-sdk> 标记的 android:minSdkVersion 元素更新为较低的新版本号,如下所示:

  <uses-sdk
      android:minSdkVersion="14"
      android:targetSdkVersion="23" />

此清单设置告知 Google Play 您的应用可以安装在搭载 Android 4.0(API 级别 14)及更高版本的设备上。

如果您使用的是 Gradle build 文件,build 文件中的 minSdkVersion 设置会替换这些清单设置。

plugins {
  id 'com.android.application'
}

android {
    ...

    defaultConfig {
        minSdkVersion 16
        ...
    }
    ...
}

在这种情况下,build 文件设置会告知 Google Play 您应用的默认 build 变体可以安装在搭载 Android 4.1(API 级别 16)及更高版本的设备上。如需详细了解 build 变体,请参阅构建系统概览

注意:如果您要包含多个支持库,则最低的 SDK 版本必须是任意指定库所要求的最高版本。例如,如果您的应用中包含 v14 Preference 支持库v17 Leanback 库,则最低 SDK 版本必须为 17 或更高。