Support Library 设置

注意:随着 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 添加到您的应用项目

  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. 对于要使用 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 libraryv17 Leanback library,则您的最低 SDK 版本必须是 17 或更高版本。