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

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

以下部分描述了 AGP 的 DSL 和 API 的计划演变。随着新 API 在稳定版本中引入,旧 API 将被标记为已弃用。这些已弃用的 API 随后将在下一个稳定版本中不可用。您可以在下面找到有关每个主要 AGP 版本中即将发生更改的信息。

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

AGP 9.0 (2024 年年中)

新的变体 API 已稳定,旧 API 已弃用

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

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

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

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

位于其他工件中的 AGP 私有内部类在构建文件的编译过程中仍然可以访问,但不建议使用它们,因为它们随时可能以破坏性方式更改。

AGP 10.0 (2025 年)

旧 API 已删除

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

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

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

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