Android Gradle 插件 7.2.0(2022 年 5 月)

Android Gradle 插件 7.2.0 是一个主要版本,包含各种新功能和改进。

7.2.2(2022 年 8 月)

本次要更新对应于 Android Studio Chipmunk 补丁 2,并包含以下 bug 修复:

  • 问题 232438924:与 ASM API 一起使用时,AndroidGradlePlugin 版本 7.2 会破坏转换 API
  • 问题 231037948:AGP 7.2.0-rc01 :buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
7.2.1(2022 年 5 月)

本次要更新对应于 Android Studio Chipmunk 补丁 1,并包含以下 bug 修复:

如需查看此版本中包含的其他 bug 修复,请参阅 Android Studio Chipmunk 补丁 1 版本说明

兼容性

最低版本 默认版本
Gradle 7.3.3 7.3.3
SDK Build Tools 30.0.3 30.0.3
NDK 不适用 21.4.7075529
JDK 11 11

Build Analyzer 中的 Jetifier 警告和检查

现在,如果项目的 gradle.properties 文件包含 android.enableJetifier=true,Build Analyzer 会显示警告。该标志是在之前的 Android Studio 版本中引入的,旨在为不能原生支持 AndroidX 的库启用 AndroidX。不过,库生态系统大多已经变为能够原生支持 AndroidX,因此您的项目可能不再需要 Jetifier 标志了。此外,该标志可能会降低 build 性能。如果您看到此警告,可以在 Build Analyzer 中运行检查,确认是否可以移除该标志。

支持测试固件

从 Android Studio Chipmunk Beta 1 开始,Android Studio 支持 Android 和 Java 测试固件。如需详细了解测试固件功能以及如何在 Java 项目中使用该功能,请参阅关于使用测试固件{:.external}的 Gradle 指南。

如需在 Android 库模块中启用测试固件,请将以下代码添加到库级 build.gradle 文件中:

android {
  testFixtures {
    enable true
    // enable testFixtures's android resources (disabled by default)
    // androidResources true
  }
}

默认情况下,如果您发布库,则会同时发布测试固件 AAR 和主库。Gradle 模块元数据文件将包含 Gradle 的信息,以便在请求 testFixtures 组件时能够使用正确的工件。

如需停止在发布变体中发布库的测试固件 AAR,请将以下代码添加到库级 build.gradle 文件中:

afterEvaluate {
  components.release.withVariantsFromConfiguration(
    configurations.releaseTestFixturesVariantReleaseApiPublication) { skip() }
  components.release.withVariantsFromConfiguration(
    configurations.releaseTestFixturesVariantReleaseRuntimePublication) { skip() }
}

如需使用已发布 Android 库的测试固件 AAR,您可以使用 Gradle 的辅助方法 testFixtures()

dependencies {
  testImplementation testFixtures('com.example.company:publishedLib:1.0')
}

默认情况下,lint 会分析测试固件来源。您可以对 lint 进行配置,指示其忽略测试固件来源,具体代码如下所示:

android {
  lint {
    ignoreTestFixturesSources true
  }
}

不支持重复的内容根

从 AGP 7.2 开始,您无法在多个源代码集之间共享同一个源目录。例如,您不能在单元测试和插桩测试中使用相同的测试来源。如需了解详情,请参阅更改默认源代码集配置