Android Gradle 外掛程式 8.3.0 版 (2024 年 2 月)

Android Gradle 外掛程式 8.3.0 是主要版本,其中包含多項新功能和改善項目。

相容性

Android Gradle 外掛程式 8.3 支援的最高 API 級別為 API 級別 34。以下是其他相容性資訊:

最低版本 預設版本 附註
Gradle 8.4 8.4 詳情請參閱「更新 Gradle」一節。
SDK 版本工具 34.0.0 版 34.0.0 版 安裝設定 SDK 版本工具。
NDK 25.1.8937393 安裝設定 NDK 其他版本。
JDK 17 17 詳情請參閱「設定 JDK 版本」相關說明。

以下是 Android Gradle 外掛程式 8.3 的新功能。

修補程式版本

以下是 Android Studio Iguana 和 Android Gradle 外掛程式 8.3 的修補程式版本清單。

Android Studio Iguana | 2023.2.1 修補程式 2 和 AGP 8.3.2 (2024 年 4 月)

這個次要更新版本修正了這裡所列的錯誤。

Android Studio Iguana | 2023.2.1 修補程式 1 和 AGP 8.3.1 (2024 年 3 月)

這個次要更新版本修正了這裡所列的錯誤。

支援 Gradle 版本目錄

Android Studio 支援以 TOML 為基礎的 Gradle 版本目錄,這項功能可讓您集中管理依附元件,並跨模組或專案共用依附元件。Android Studio 現在提供編輯器建議,並與「Project Structure」對話方塊整合,讓您更輕鬆地設定版本目錄。瞭解如何設定及設定 Gradle 版本目錄,或如何將建構遷移至版本目錄

完成程式碼與瀏覽

當您在使用 TOML 檔案格式編輯版本目錄,或是將版本目錄中的依附元件新增至建構檔案時,Android Studio 會提供程式碼完成功能。如要使用程式碼完成功能,請按下 Ctrl+空格鍵 (在 macOS 為 Command + 空格鍵)。此外,您還可以按下 Ctrl+b 鍵 (在 macOS 上為 Command+b 鍵),從應用程式 build.gradle 檔案中的依附元件參考資料快速前往該檔案在版本目錄中宣告的位置。

新增依附元件時完成程式碼

與「Project Structure」對話方塊整合

如果專案使用 TOML 檔案格式所定義的版本目錄,您可以在 Android Studio 中透過「Project Structure」對話方塊的「Variables」檢視畫面 (依序點選「File」>「Project Structure」>「Variables」) 編輯您在該處定義的變數。每個版本目錄都會有一個下拉式選單,列出該目錄中的變數。如要編輯變數,請按一下變數的值並覆寫。儲存這些變更時,TOML 檔案也會隨之更新。

「Project Structure」對話方塊中版本目錄中的變數

您也可以在「Project Structure」對話方塊的「Dependencies」檢視畫面中 (「File」>「Project Structure」>「Dependencies」) 更新依附元件。如要使用「Project Structure」對話方塊更新版本,請前往要編輯的模組和依附元件,然後更新「Requested Version」欄位。儲存這些變更時,TOML 檔案也會隨之更新。請注意,如果是以變數定義依附元件版本,請直接以這種方式更新版本,將變數替換成硬式編碼值。另請注意,無論您是否使用「Project Structure」對話方塊移除依附元件,都不會從版本目錄中移除依附元件。

「Project Structure」對話方塊中版本目錄中的依附元件

已知問題和限制

以下是 Android Studio 對 Gradle 版本目錄支援的已知問題或限制。

  • 在 Kotlin 指令碼檔案中醒目顯示外掛程式別名宣告時發生錯誤:當您新增 alias(libs.plugins.example) 格式的外掛程式宣告時,編輯器會在 libs 部分下方加上紅色底線。這是 Gradle 8.0 以下版本的已知問題,將於日後的 Gradle 版本中解決。

  • Android Studio 僅支援 TOML 格式的版本目錄。目前 Android Studio 程式碼完成、導覽和專案結構對話方塊僅支援以 TOML 檔案格式定義的版本目錄。不過,您仍可直接在 settings.gradle 檔案中新增版本目錄,並在專案中使用其依附元件。

  • 不支援 KTS 建構檔案的導覽功能:目前尚不支援使用 Control 鍵 + 滑鼠 (在 macOS 上按 Command + 點選),前往版本目錄內的依附元件定義。

  • Firebase Assistant 會直接在建構指令碼中新增依附元件:Firebase Assistant 會直接將依附元件直接加入建構指令碼,而非版本目錄。

  • 不支援「查看使用情形」功能:目前不支援尋找其他建構檔案中的版本目錄變數使用情形,無論建構檔案位於 KTS 或 Groovy。也就是說,在版本目錄的變數定義中按下 Control 鍵 (在 macOS 上按 Command + 點選),不會導向使用該變數的建構檔案。

  • 如果 Android Studio 中的「Project Structure」對話方塊位於根 gradle 資料夾中,則會顯示多個目錄檔案,但不會顯示複合式建構的目錄。舉例來說,如果您有兩個目錄檔案,一個用於應用程式,另一個用於複合式建構,則「Project Structure」對話方塊只會顯示應用程式目錄檔案。您可以使用複合式版本,但必須直接編輯其 TOML 檔案。

其他 SDK 深入分析:政策問題

Android Studio 會在 build.gradle.ktsbuild.gradle 檔案中顯示 Lint 警告,而對於在 Google Play SDK 索引中違反 Play 政策的公開 SDK,也會在「Project Structure」對話方塊中顯示 Lint。您應更新違反 Play 政策的所有依附元件,因為這類違規事項可能會導致您日後無法發布至 Google Play 管理中心。違反政策警告會補充 Android Studio 顯示的過時版本警告

Android Studio compileSdk 版本支援

如果專案使用的 compileSdk 不受目前的 Android Studio 版本支援,Android Studio 會顯示警告。如果適用,也會建議改用支援專案使用的 compileSdk 的 Android Studio 版本。請注意,升級 Android Studio 可能也需要升級 AGP。如果目前的 AGP 版本不支援專案使用的 compileSdk,AGP 也會在「Build」工具視窗中顯示警告。

Lint 行為變更

從 Android Gradle 外掛程式 8.3.0-alpha02 開始,在模組上執行 Lint 時,系統會為模組的主要和測試元件執行不同的 Lint 分析工作。之所以會有這種變化,是為了提升效能。 如要還原為先前的行為,請在 gradle.properties 檔案中設定 android.experimental.lint.analysisPerComponent=false

預設啟用精確資源縮減功能

精確的資源縮減功能預設為開啟,這項功能可以移除 resources.arsc 檔案中未使用的項目,並排除未使用的資源檔案。啟用此縮減功能時,系統會縮減資源資料表,且只有參照的 res 資料夾項目會包含在 APK 中。

若要關閉精確的資源縮減功能,請在專案的 gradle.properties 檔案中將 android.enableNewResourceShrinker.preciseShrinking 設為 false