Android Gradle 外掛程式 8.7.0 版 (2024 年 10 月)

Android Gradle 外掛程式 8.7.0 是主要版本,內含多種新功能及改善項目。

相容性

Android Gradle 外掛程式 8.7 支援的最高 API 級別為 35。其他相容性資訊如下:

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

Lint 行為變更

從 Android Gradle 外掛程式 8.7.0-alpha08 開始,如果使用 Gradle 執行 Lint 時發生 LintError,Lint 分析工作會擲回例外狀況。這項異動可防止建構快取中快取罕見錯誤。

很遺憾,這項變更會導致專案的建構作業中斷,因為這些專案的 Lint 基準檔案中含有真正的 LintError 執行個體。錯誤訊息會提供資訊,說明是哪些 Lint 檢查導致問題。在某些情況下,更新對應的程式庫依附元件或許能解決問題。如果沒有,您可以停用有問題的 Lint 檢查,直到程式庫作者修正為止。

已修正問題

Android Gradle 外掛程式 8.7.0 版

已修正問題
Android Gradle 外掛程式
AGP 應聲明支援即將發布的 API 35
AGP 8.5:執行更多「mergeDebugResources」工作,導致建構作業變慢
將 NDK 27 設為 AGP 中的預設 NDK。
AGP 應聲明支援即將發布的 API 35
AGP 應聲明支援即將發布的 API 35
執行 Android Lint 時發生 NoSuchFileException
BuildType#initWith 會複製後處理區塊,但不會套用 ProGuard 設定
無法合併 foregroundServiceType 標記
執行 Android Lint 時發生 NoSuchFileException
Lint
Lint 應檢查用做 ViewGroup 的無效物件
URI 的主機為空值,因此系統顯示「android:host is missing」
KtAnalysisSessionProvider 與 8.7.0-alpha04 中導入的 Lint 檢查項目不相容
使用 PackageManager.ResolveInfoFlags.of 和 Kotlin 時,出現「偽陽性」WrongConstant

Android Gradle 外掛程式 8.7.1 版

已修正問題
Android Gradle 外掛程式
agp 文件有很多待定事項
Lint
AGP 8.6.1:迴歸 - 在 Kotlin 的 @LongDef 中使用 [Int].toLong() 時,WrongConstant Lint 失敗
設定 http 或 https 意圖篩選器架構時,發生「至少須指定一個主機」的 Lint 錯誤

Android Gradle 外掛程式 8.7.2

已修正問題
Lint
AGP 8.7.0 - Lint False Positive RestrictedApi on NavOptionsBuilder.popUpTo
縮減器 (R8)
[R8 8.6.27] 方法實作項目已替換為 `throw null`
搭配目前版本的 R8 使用時,預設的 Android ProGuard 檔案會發出警告
如果訊息過大,MissingStartupProfileItemsDiagnostic 會導致 Gradle 用戶端因記憶體不足而異常終止

Android Gradle 外掛程式 8.7.3 版

已修正問題
Lint
執行 Lint 時,缺少許多缺少分析 API 方法警告
Lint 檢查出現偽陽性結果:android.permission.SCHEDULE_EXACT_ALARM 權限只會授予系統應用程式