Android Gradle 插件 DSL/API 迁移时间表

Android Gradle 插件 (AGP) 是受支持的 Android 应用构建系统,支持编译多种不同类型的源代码,以及将其链接到可在实体 Android 设备或模拟器上运行的应用中。

以下部分介绍了计划的 AGP DSL 和 API 的演变。随着新版 API 在稳定版本中推出,旧版 API 将标记为已废弃。这些废弃的 API 在下一个稳定版本中将不再可用。下面介绍了每个主要 AGP 版本中即将发生的变更。

有关 AGP API 废弃或移除的更详尽日志,请参阅 AGP API 更新

AGP 9.0(2024 年年中)

新版 Variant API 已稳定,旧版 API 已废弃

  • 在 4.1 和 4.2 中培育的 Variant API 已稳定。
  • 所有这些接口都位于 gradle-api 工件中。
  • 旧版 Variant API 中使用的旧版接口和类现已废弃。

新版 DSL 接口已稳定,旧版 DSL 接口已废弃

  • 在 4.1、4.2 和 7.0 中培育的 DSL 接口现已稳定。
  • 所有这些接口都位于 gradle-api 工件中。
  • DSL 中使用的旧版接口和类现已废弃。

仍然可以访问私有内部 AGP 类

在编译 build 文件时,仍可访问位于其他工件的私有内部 AGP 类,但建议您使用它们,因为它们随时都有可能发生重大变化。

AGP 10.0(2025 年)

旧版 API 已移除

  • DSL 和旧版 Variant API 中使用的所有旧版接口和类均已删除
  • gradle-api 工件是访问 DSL 和 variant API 接口及类所需的唯一工件,在开发插件时应使用该工件。
  • gradle-api 工件使用 Gradle 元数据(可为编译和运行时提供不同的依赖项关系图),在编译 build 文件时,只有该工件可用。

(暂定)对私有内部 AGP 类的访问权限已移除

gradle 工件的依赖项现在会隐藏所有内部类,并仅针对 gradle-api 工件中的可用接口和类提供编译权限。这会同时影响插件和 build 文件的编译。

您无法手动添加依赖项来获取对内部类的访问权限。