Android Gradle Plugin 8.8.0 (ינואר 2025)

Android Gradle Plugin 8.8.0 הוא גרסה מרכזית שכוללת מגוון תכונות ושיפורים חדשים.

תאימות

רמת ה-API המקסימלית שנתמכת בפלאגין Android Gradle 8.8 היא רמת API 35. מידע נוסף על תאימות:

גרסת מינימום גרסת ברירת המחדל הערות
Gradle 8.10.2 8.10.2 מידע נוסף זמין במאמר עדכון Gradle.
SDK Build Tools 35.0.0 35.0.0 מתקינים או מגדירים את SDK Build Tools.
NDK לא רלוונטי 27.0.12077973 מתקינים או מגדירים גרסה אחרת של NDK.
JDK 17 17 מידע נוסף זמין במאמר הגדרת גרסת ה-JDK.

בעיות שתוקנו

Android Gradle plugin 8.8.0

בעיות שתוקנו
Android Gradle Plugin
כדאי להוסיף הערה לסוג הקלט של JacocoTransform בתור @Classpath
‏com.android.build.api.variant.GeneratesApk צריך לחשוף את minSdk
הפלאגין com.android.settings לא מזהה את targetSdk
הפונקציה SourceDirectories.addGeneratedSourceDirectory לא מתאימה לשימוש עם כמה וריאנטים
הטמעת דגל להשבתת בדיקת הגרסה המינימלית של AGP
ל-AGP יש אינטראקציות מבלבלות עם הגדרת אפשרויות של קומפילטור Kotlin
AGP צריך לחשוף BuiltArtifactLoader עבור קובץ ה-APK של פרויקט היעד בפרויקטים מסוג com.android.test
[AGP] Lazy SdkComponents.ndkDirectory provider fails to produce value, but eager android.ndkDirectory API works
אפשרויות build: הוספה של האפשרות Build Run configuration (הגדרת build לריצה) והגדרה שלה כברירת מחדל
לא ניתן לפתור את BuildConfig בבדיקות יחידה כשמשתמשים ב-android.enableBuildConfigAsBytecode=true
חבילות APK שנוצרות מחבילות לא מביאות בחשבון את התמיכה בארגז החול לפרטיות
הפלאגין com.android.settings לא מזהה את targetSdk
Dexer‏ (D8)
ספריית Desugar 2.1.0 לא פועלת עם AGP 8.5.2
Lint
חוסר תאימות של KtAnalysisSessionProvider לבדיקות איתור שגיאות בקוד (lint) שנוספו בגרסה 8.7.0-alpha04
"False positive" WrongConstant when using PackageManager.ResolveInfoFlags.of with Kotlin
שגיאת איתור שגיאות בקוד (lint) מסוג 'צריך לציין מארח אחד לפחות' כשמגדירים סכימה של מסנן כוונות מסוג http או https
טיפול בהערות לגבי שימוש בסוגים במקרים נוספים לזיהוי שגיאות בקוד (lint) של UnknownNullness
AGP 8.6.1: רגרסיה – שגיאה ב-lint של WrongConstant כשמשתמשים ב-[Int].toLong()‎ בתוך @LongDef ב-Kotlin
AGP 8.7.0 - Lint False Positive RestrictedApi on NavOptionsBuilder.popUpTo
שגיאת lint של WrongConstant מופיעה פעמיים
Android Studio לא מזהה את האזהרה 'MonochromeLauncherIcon: Monochrome icon is not defined'
AbstractAnnotationDetector בודק פונקציות/קונסטרוקטורים עם עומס יתר שגוי
Lint ImportAliasTestMode לא יוצר כינויים לייבוא של פונקציות ברמה העליונה
שגיאת lint של WrongConstant מופיעה פעמיים
אזהרות חדשות של ObsoleteSdkInt ב-AGP 8.8
בדיקת איתור שגיאות בקוד (lint) שזיהתה שגיאה שוואה: ההרשאה android.permission.SCHEDULE_EXACT_ALARM ניתנת רק לאפליקציות מערכת
כשמשתמשים ב-hasRoute(Route::class)‏ .ב-Android Studio, מופיעה אזהרה על RestrictedApi במצב K2
שילוב איתור שגיאות בקוד
לא נמצאה משימה של גרסה משופרת של Lint אחרי הערכה
אי אפשר לבצע איתור שגיאות בקוד (linting) כשמייבאים קובץ AAR עם קובצי הטמעה

פלאגין Android Gradle 8.8.1

בעיות שתוקנו
Dexer‏ (D8)
הוספת OpenJDK 23 לבדיקה
Shrinker‏ (R8)
java.lang.AbstractMethodError: ‏ Receiver class [...]$$Lambda$[...] does not define or inherit an implementation of the resolved method [...] of interface [...]
NPE ב-Enqueuer שקשור לרשומה DexCallSite
R8 8.7.18 גורם לחריגה של נקודת הצבעה null בסביבת זמן ריצה כשקוראים ל-job?.cancel
java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/LazyThreadSafetyMode
נראה ש-Monzo משקיע זמן רב מדי ב-tree shaking
AGP 8.8 fail release build : R8: java.lang.NullPointerException: Cannot read field "b" because the return value of "com.android.tools.r8.internal.BS.a(com.android.tools.r8.internal.cR)" is null`

Android Gradle plugin 8.8.2

בעיות שתוקנו
Android Gradle Plugin
סקריפט האתחול 'C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle' שורה: 162
Shrinker‏ (R8)
Gson proguard לא פועל כמו שצריך אחרי השדרוג ל-AGP 8.8
java.lang.VerifyError: Verifier rejected class
Leanback קורס כשמקטינים אותו באמצעות R8 שכלול ב-AGP 8.10.0-alpha04