支持库设置

注意:随着 Android 9.0(API 级别 28)的发布,出现了一个名为 AndroidX 的新版支持库,它属于 Jetpack。AndroidX 库包含现有的支持库,还包含最新的 Jetpack 组件。

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

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

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

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

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

选择支持库

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

添加支持库

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

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

  1. 在顶级 build.gradle 文件中包含 Google 的 Maven 代码库。
        allprojects {
            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. 将支持库添加到 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 导入。

注意:将支持库添加到应用项目后,我们强烈建议您使用 ProGuard 工具准备要进行发布的应用 APK。除了保护源代码以外,ProGuard 工具还可以从添加到应用的任意库中移除不使用的类,从而尽量降低应用的下载文件大小。有关详情,请参阅 ProGuard

如果在使用支持库的某些功能方面需要进一步的指导,请参阅 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 编译文件,则编译文件中的 minSdkVersion 设置将覆盖此清单设置。

    apply plugin: 'com.android.application'

    android {
        ...

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

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

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