Android Gradle 外掛程式 8.6.0 版 (2024 年 8 月)

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

相容性

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

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

已修正問題

Android Gradle 外掛程式 8.6.0 版

已修正問題
Android Gradle 外掛程式
AGP 7.0.0-alpha10 迴歸:已啟用 databinding 時無法套用外掛程式 'com.android.internal.library'
使用及不使用 K2 UAST 執行 Lint 時發生錯誤
系統未為變化版本的 androidTest 設定產生資訊清單
AGP 8.4 會嘗試在偵錯版本中設定啟動設定檔
[Koala 2024.1.2 Canary 2] 在分割 APK 上執行基準設定檔模組時發生錯誤
清除/移除 ProjectInfo
更新 AGP DSL 中 `isIncludeAndroidResources` 的過時 kdoc
Lint 使用 res 目錄,但未新增工作依附元件
AGP 8.5:正在執行更多「mergeDebugResources」工作,進而減緩建構速度
透過 Variants API 新增 srcs 目錄無法正常運作
Dexer (D8)
將 API 資料庫更新至 Android 15 (API 級別 35)
java.lang.VerifyError:驗證器拒絕類別 com.pax.log.LogUtils:java.lang.StackTraceElement com.pax.log.LogUtils.getCaller(com.pax.log.b, java.lang.StackTraceElement[], int) 驗證失敗
Lint
Lint 不會針對註解註解的用法呼叫 visitAnnotationUsage
使用類型用途註解時發生 UnknownNullness Lint 錯誤
[library desugar] 啟用 desugaring 時,Lint 會顯示 NewApi 警告的偽陽性警告
在 Wear 上,憑證管理工具 Lint 警告有誤
Lint:SetTextI18n 會針對指派空字串提出警告。
Lint 整合
內含版本的 Lint 工作失敗
縮減器 (R8)
[r8 8.5]在停用 API 模擬時,r8 水平類別合併會導致 Android 5 上的驗證錯誤
使用 Gradle 外掛程式 8.4.0/8.5.0 建構的 Wear OS 版本可能會導致 java.lang.IllegalAccessError
R8 會隱含地將空白成員子句替換為 () 的配對結果
[r8 8.5] 垂直類別合併導致執行階段 NPE
右移運算子可能導致 R8 處理錯誤
R8 (AGP 8.5.0 以上版本) 執行失敗,並顯示「Unexpected rewriting of item: ... to two distinct items:...」錯誤訊息
執行時,由 R8 產生的 dex 檔案會顯示「Unable to find static main(String[]) in 'Test'」
由 R8 和 D8 封裝的程式之間的不同行為
更新至 Kotlin 2.0 後,R8 出現 NullPointer

Android Gradle 外掛程式 8.6.1 版

已修正問題
Dexer (D8)
Dexing 工作/轉換作業產生非確定性的 classes.dex 內容
縮減器 (R8)
R8 8.5.x 中的 SimpleInliningConstraintAnalysis 發生 StackOverflowError
Task :xxxx:minifyXXXReleaseWithR8 ERROR: R8: java.util.ConcurrentModificationException
java.lang.NullPointerException:無法叫用「com.android.tools.r8.ir.analysis.type.TypeElement.asClassType()」