Android Gradle 外掛程式 8.8.0 (2025 年 1 月)

Android Gradle 外掛程式 8.8.0 是主要版本,其中包含多項新功能和改善項目。

相容性

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

最低版本 預設版本 附註
Gradle 8.10.2 8.10.2 詳情請參閱「更新 Gradle」一節。
SDK 版本工具 35.0.0 35.0.0 安裝或設定 SDK 建構工具。
NDK 不適用 27.0.12077973 安裝或設定 NDK 其他版本。
JDK 17 17 詳情請參閱「設定 JDK 版本」相關說明。

已修正問題

Android Gradle 外掛程式 8.8.2

已修正問題
Android Gradle 外掛程式
初始化指令碼「C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle」第 162 行
縮減器 (R8)
升級至 AGP 8.8 後,Gson ProGuard 無法正常運作
java.lang.VerifyError:類別遭驗證器拒絕
使用 AGP 8.10.0-alpha04 內建的 R8 壓縮 Leanback 時,會發生當機

Android Gradle 外掛程式 8.8.1

已修正問題
Dexer (D8)
新增 OpenJDK 23 進行測試
縮減器 (R8)
java.lang.AbstractMethodError: Receiver class [...]$$Lambda$[...] does not define or inherit an implementation of the resolved method [...] of interface [...]
與記錄 DexCallSite 相關的 Enqueuer 中有 NPE
呼叫 job?.cancel 時,R8 8.7.18 會導致執行階段空值指標例外狀況
java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/LazyThreadSafetyMode
Monzo 似乎花費過多時間進行 tree shaking
AGP 8.8 無法建構發布子版本:R8:java.lang.NullPointerException:無法讀取「b」欄位,因為「com.android.tools.r8.internal.BS.a(com.android.tools.r8.internal.cR)」的傳回值為空值

Android Gradle 外掛程式 8.8.0

已修正問題
Android Gradle 外掛程式
考慮將 JacocoTransform 的輸入類型註解為 @Classpath
com.android.build.api.variant.GeneratesApk 應公開 minSdk
com.android.settings 外掛程式無法辨識 targetSdk
SourceDirectories.addGeneratedSourceDirectory 不適用於多個變體
導入旗標,停用 AGP 最低版本檢查
AGP 與設定 Kotlin 編譯器選項的互動令人困惑
AGP 應在 com.android.test 專案中,為目標專案 APK 公開 BuiltArtifactLoader
[AGP] 延遲 SdkComponents.ndkDirectory 提供者無法產生值,但積極 android.ndkDirectory API 可運作
建構選項:新增「建構執行設定」選項,並設為預設選項
使用 android.enableBuildConfigAsBytecode=true 時,無法在單元測試中解析 BuildConfig
從套件產生的 APK 不會考量 Privacy Sandbox 支援
com.android.settings 外掛程式無法辨識 targetSdk
Dexer (D8)
Desugar 程式庫 2.1.0 無法與 AGP 8.5.2 搭配使用
Lint
KtAnalysisSessionProvider 與 8.7.0-alpha04 導入的 Lint 檢查不相容
搭配 Kotlin 使用 PackageManager.ResolveInfoFlags.of 時,出現「偽陽性」WrongConstant
設定 http 或 https 意圖篩選器配置時,出現「At least one host must be specified」Lint 錯誤
在更多情況下處理 UnknownNullness Lint 的類型使用註解
AGP 8.6.1:迴歸 - 在 Kotlin 的 @LongDef 中使用 [Int].toLong() 時,WrongConstant lint 失敗
AGP 8.7.0 - Lint 偽陽性 RestrictedApi 錯誤 (NavOptionsBuilder.popUpTo)
WrongConstant lint 出現兩次
Android Studio 未偵測到「MonochromeLauncherIcon: Monochrome icon is not defined」警告
AbstractAnnotationDetector 檢查錯誤的超載函式/建構函式
Lint ImportAliasTestMode 不會為頂層函式建立匯入別名
WrongConstant lint 出現兩次
AGP 8.8 新增 ObsoleteSdkInt Lint 警告
Lint 檢查出現偽陽性:android.permission.SCHEDULE_EXACT_ALARM 僅授予系統應用程式
在 Android Studio 中使用 .hasRoute(Route::class) 時,K2 模式會擲回 RestrictedApi 警告
Lint 整合
評估後找不到 Lint 變化版本工作
匯入含有實作檔案的 AAR 檔案時,Linting 失敗