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

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

相容性

Android Gradle 外掛程式 8.7 支援的最高 API 級別為 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 設定
無法合併前景服務類型標記
執行 Android lint 失敗,並顯示 NoSuchFileException
Lint
Lint 應檢查是否有用作 ViewGroup 的無效物件
主機為空值的 URI 出現「android:host is missing」錯誤
KtAnalysisSessionProvider 與 8.7.0-alpha04 中引入的 Lint 檢查項目不相容
使用 PackageManager.ResolveInfoFlags.of 與 Kotlin 時,出現「False positive」WrongConstant

Android Gradle 外掛程式 8.7.1 版

已修正問題
Android Gradle 外掛程式
agp 文件中有許多待定事項
Lint
AGP 8.6.1:迴歸 - 在 Kotlin 的 @LongDef 中使用 [Int].toLong() 時,Lint 會回報 WrongConstant 錯誤
設定 http 或 https 意圖篩選器配置時,出現「At least one host must be specified」的 Lint 錯誤

Android Gradle 外掛程式 8.7.2

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

Android Gradle 外掛程式 8.7.3 版

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