支持库设置

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

您可以继续使用支持库。历史工件(版本 27 及更早版本,并打包为 android.support.*)将保留在 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(使用支持库时)。
  • android.app.ActionBar(仅针对 API 级别 11 或更高版本进行开发时)。

注意:在应用程序项目中包含支持库后,我们强烈建议您压缩、混淆和优化您的应用以供发布。除了使用混淆来保护您的源代码外,压缩还会删除您在应用程序中包含的任何库中未使用的类,从而使应用程序的下载大小尽可能小。

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设置会覆盖清单设置。

plugins {
  id 'com.android.application'
}

android {
    ...

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

在这种情况下,构建文件设置告诉 Google Play,您的应用程序的默认构建变体可以安装在 Android 4.1(API 级别 16)及更高版本的设备上。有关构建变体的更多信息,请参阅构建系统概述

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