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 偽陽性 RestrictedApi 錯誤 (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 意圖篩選器配置時,出現「At least one host must be specified」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」
KtAnalysisSessionProvider 與 8.7.0-alpha04 導入的 Lint 檢查不相容
搭配 Kotlin 使用 PackageManager.ResolveInfoFlags.of 時,出現「偽陽性」WrongConstant