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 False Positive RestrictedApi on NavOptionsBuilder.popUpTo
縮減器 (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 檢查項目不相容
使用 PackageManager.ResolveInfoFlags.of 和 Kotlin 時,出現「偽陽性」WrongConstant