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.3

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

Android Gradle 外掛程式 8.7.2

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

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.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 檢查項目不相容
使用 Kotlin 的 PackageManager.ResolveInfoFlags.of 時,出現「偽陽性」WrongConstant