Android Gradle 插件 7.2.0 (2022 年 5 月)
Android Gradle 插件 7.2.0 是一个主要版本,包含各种新功能和改进。
此小更新对应于 Android Studio Chipmunk Patch 2 的发布,并包含以下错误修复
- 问题 #232438924:与 ASM API 结合使用时,AndroidGradlePlugin 版本 7.2 会破坏转换 API
- 问题 #231037948:AGP 7.2.0-rc01:buildSrc:generatePrecompiledScriptPluginAccessors - shadow/bundletool/com/android/prefs/AndroidLocation$AndroidLocationException
此小更新对应于 Android Studio Chipmunk Patch 1 的发布,并包含以下错误修复
- 问题 #230361284:bundletool 未正确打包基线配置文件
要查看此版本中包含的其他错误修复,请参阅Android Studio Chipmunk Patch 1 发行说明。
兼容性
最低版本 | 默认版本 | 说明 | |
---|---|---|---|
Gradle | 7.3.3 | 7.3.3 | 要了解更多信息,请参阅更新 Gradle。 |
SDK 构建工具 | 30.0.3 | 30.0.3 | 安装或配置SDK 构建工具。 |
NDK | N/A | 21.4.7075529 | 安装或配置NDK 的不同版本。 |
JDK | 11 | 11 | 要了解更多信息,请参阅设置 JDK 版本。 |
构建分析器中的 Jetifier 警告和检查
如果项目的gradle.properties
文件中包含android.enableJetifier=true
,则构建分析器现在会显示警告。此标志是在 Android Studio 的先前版本中引入的,用于为不原生支持 AndroidX 的库启用 AndroidX。但是,库生态系统已基本转向原生支持 AndroidX,并且您的项目可能不再需要 Jetifier 标志。此外,此标志会导致构建性能下降。如果看到此警告,可以在构建分析器中运行检查以确认是否可以移除此标志。
对测试夹具的支持
从 Android Studio Chipmunk Beta 1 开始,Android Studio 支持 Android 和 Java 测试夹具。有关测试夹具功能以及如何在 Java 项目中使用它的更多信息,请参阅 Gradle 关于使用测试夹具{:.external}的指南。
要在 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 开始,您不能再在多个源集中共享相同的源目录。例如,您不能对单元测试和检测测试使用相同的测试源。要了解更多信息,请参阅更改默认源集配置。