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

Android Gradle 插件 (AGP) 是 Android 应用程序的受支持构建系统,它支持编译多种不同类型的源代码并将其链接在一起,形成一个可在物理 Android 设备或模拟器上运行的应用程序。

以下部分介绍了 AGP 的 DSL 和 API 的规划演进。随着新 API 在稳定版本中引入,旧 API 将被标记为废弃。这些废弃的 API 将在下一个稳定版本中不再可用。您将在下面找到每个主要 AGP 版本中即将发生的变化的信息。

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

AGP 9.0(2025 年下半年)

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

  • 在 4.1 和 4.2 版本中处于孵化阶段的 Variant API 现已稳定。
  • 所有这些接口都位于 gradle-api 工件中。
  • 旧版 Variant API 中使用的先前接口和类现已废弃。

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

  • 在 4.1、4.2 和 7.0 版本中处于孵化阶段的 DSL 接口现已稳定。
  • 所有这些接口都位于 gradle-api 工件中。
  • DSL 中使用的先前接口和类现已废弃。

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

AGP 中的私有内部类(位于其他工件中)在构建文件编译期间仍可访问,但**不**建议使用它们,因为它们随时可能发生破坏性更改。

AGP 10.0(2026 年)

旧 API 已移除

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

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

gradle 工件的依赖现在会隐藏所有内部类,并且只允许编译访问 gradle-api 工件中可用的接口和类。这会影响插件和构建文件的编译。

无法手动添加依赖项以访问内部类。