Day 15 有提到 Android Gradle Plugin Version 與 Gradle Version 的不同。
今天試著用一篇 Medium 文章,來圖解一下這兩者的差異。
圖中藍色實線框框的部份,就是 Android Gradle 外掛程式/插件 (Android Gradle Plugin) 背負的功能。
In this diagram, the AGP is shown as a layer between Gradle and Android Studio. The AGP provides a bridge between the two systems, allowing them to communicate with each other. This allows Android Studio to use Gradle to build Android applications, and it allows Gradle to use the Android SDK to access Android resources.
Android Gradle Plugin (簡稱 AGP) 是在 Android Studio 和 Gradle 之間的一個層次。
AGP 橋接這兩個系統,讓它們可以互相溝通。
這讓 Android Studio 能使用 Gradle 來構建 Android 應用程式 (applications),
也讓 Gradle 得以使用 Android SDK (software development kit, 註1) 來取得 Android 資源。
The AGP is also responsible for managing the different versions of Gradle and Android Studio that can be used to build Android applications. The AGP ensures that the correct versions of Gradle and Android Studio are used for each project, and it also provides compatibility checks to ensure that the different versions are compatible with each other.
Android Gradle Plugin 兼負管理構建 Android 應用程式的不同 Gradle 版本和 Android Studio 版本。
AGP 確保每個專案使用了 Gradle 和 Android Studio 的正確版本。
並且提供相容性檢查來確保不同版本之間能彼此相容。
這也就是為什麼 Android Studio 時不時會冒出 AGP 升級助手 (AGP Upgrade Assistant) 小視窗,
來提醒開發者們對於現在經手的專案,試著去升級 Android Gradle Plugin 版本,
以享有新功能、錯誤修復,以及更好的相容性檢查。
當然,AGP 升級助手不是無痛升級的保證。這邊就是各位開發者發揮本領的空間了。
下表是官方文件列出 Android Studio 與 Android Gradle Plugin 之間的相容關係。
Android Studio 版本 | 所需的 AGP 版本 |
---|---|
Iguana_2023.2.1 | 3.2-8.3 |
Hedgehog_2023.1.1 | 3.2-8.2 |
Giraffe_2022.3.1 | 3.2-8.1 |
Flamingo_2022.2.1 | 3.2-8.0 |
Electric Eel_2022.1.1 | 3.2-7.4 |
註1:Android SDK 是一套針對開發 Android 應用程式所使用的開發工具。
資料來源
Medium - Android Gradle plugin, Gradle version, and Android Studio compatibility
Margaret Rouse - Android SDK
Google for Devolopers - Android Gradle 外掛程式與 Android Studio 相容性