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

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

תאימות

רמת ה-API המקסימלית שנתמכת בפלאגין של Android Gradle 8.8 היא 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.2

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

Android Gradle plugin 8.8.1

בעיות שתוקנו
Dexer (D8)
הוספת OpenJDK 23 לבדיקה
Shrinker (R8)
‫java.lang.AbstractMethodError: המחלקה המקבלת [...]$$Lambda$[...] לא מגדירה או יורשת הטמעה של השיטה שנפתרה [...] של הממשק [...]
NPE in Enqueuer releated to record DexCallSite
‫R8 8.7.18 גורם לחריגת מצביע null בזמן ריצה כשקוראים ל-job?.cancel
‫java.lang.NoClassDefFoundError: נכשל ניסיון לפתור את הבעיה: Lkotlin/LazyThreadSafetyMode
נראה ש-Monzo משתמשת בכמות זמן מוגזמת ב-tree shaking
AGP 8.8 נכשלת בגרסת 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 8.8.0

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