Android Gradle 外掛程式 DSL/API 遷移時程

Android Gradle 外掛程式 (AGP) 是 Android 應用程式支援的建構系統,可支援編譯多種不同來源,並連結至應用程式中,然後在實體 Android 裝置或模擬器上執行。

本節將說明 AGP DSL 和 API 的預計發展。隨著新的 API 在穩定版中推出,舊版 API 會標示為已淘汰。這些已淘汰的 API 會在下一個穩定版中停用。下方是各個主要 AGP 版本即將推出的異動相關資訊。

如要進一步瞭解 AGP API 淘汰或移除的詳細記錄,請參閱「AGP API 更新」。

AGP 8.0 (2022 年中)

新的 Variant API 是穩定版,舊版 API 已淘汰

  • 在 4.1 和 4.2 中發展的 Variant API 是穩定版。
  • 這些介面全都位於 gradle-api 成果中。
  • 先前在舊版 Variant API 中使用的介面和類別現已淘汰。

新版 DSL 介面是穩定版,舊介面已淘汰

  • 在 4.1、4.2 和 7.0 中發展的 DSL 介面現已是穩定版。
  • 這些介面全都位於 gradle-api 成果中。
  • 先前在 DSL 中使用的介面和類別現已淘汰。

編寫外掛程式時,建議只依附於 gradle-api 成果,這樣就只會使用到新介面和類別。不過有一項例外情況,以下外掛程式類別會在 8.0 版中移至 gradle-api

仍可存取私人內部 AGP 類別

即使是在其他成果中的 AGP 私人內部類別,在建構檔案編譯期間仍可存取,但不建議使用,因為這些類別可能隨時發生破壞性改變。

AGP 9.0 (2023 上半年)

舊版 API 已移除

  • 先前在 DSL 和舊版 Variant API 中使用的介面和類別都已刪除
  • 您只需要 gradle-api 成果,就能存取 DSL 和變數 API 介面和類別,並在開發外掛程式時使用。
  • 使用 Gradle 中繼資料 (可為編譯和執行階段提供不同的依附元件圖表),在建構檔案編譯期間只能使用 gradle-api 成果。

(暫定) 私人內部 AGP 類別的存取權已移除

現在依附於 gradle 成果已無法取用所有內部類別,且只能取得 gradle-api 成果中可用介面和類別的編譯存取權。這會影響外掛程式和建構檔案編譯。

您無法手動新增依附元件來取得內部類別的存取權。