Android Gradle Plugin 8.7.0 (אוקטובר 2024)

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

תאימות

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

גרסת המינימום גרסת ברירת המחדל הערות
‫"Gradle" 8.9 8.9 "מידע נוסף זמין במאמר בנושא עדכון Gradle".
SDK Build Tools 34.0.0 34.0.0 צריך להתקין או להגדיר את SDK Build Tools.
NDK לא רלוונטי 27.0.12077973 "צריך להתקין או להגדיר גרסה אחרת של NDK".
JDK 17 17 "מידע נוסף מופיע במאמר בנושא הגדרת גרסת ה-JDK".

שינוי בהתנהגות של Lint

החל מגרסה 8.7.0-alpha08 של פלאגין של Android Gradle, אם יש LintError כשמריצים כלי לאיתור שגיאות בקוד (lint) באמצעות Gradle, משימת הניתוח של כלי לאיתור שגיאות בקוד (lint) זורקת חריג. השינוי הזה מונע שמירה במטמון של שגיאות נדירות במטמון של ה-build.

לצערנו, השינוי הזה גורם לכך שאי אפשר לבצע build לפרויקטים עם מופעים אמיתיים של LintError בקובצי הבסיס של lint. הודעת השגיאה מכילה מידע על בדיקות ה-lint שגורמות לבעיה. במקרים מסוימים, עדכון של התלות בספרייה המתאימה עשוי לפתור את הבעיה. אם לא, אפשר להשבית את בדיקת ה-lint הבעייתית עד שיוצר הספרייה יתקן אותה.

בעיות שתוקנו

Android Gradle plugin 8.7.3

בעיות שתוקנו
Lint
אזהרות רבות על שיטת API לניתוח שחסרה כשמריצים lint
בדיקת lint חיובית כוזבת android.permission.SCHEDULE_EXACT_ALARM ניתנת רק לאפליקציות מערכת

Android Gradle plugin 8.7.2

בעיות שתוקנו
Lint
‫AGP 8.7.0 – Lint False Positive RestrictedApi on NavOptionsBuilder.popUpTo
Shrinker (R8)
‫[R8 8.6.27] הטמעת השיטה הוחלפה ב-`throw null`
קובצי proguard של Android שמוגדרים כברירת מחדל מציגים אזהרה כשמשתמשים בהם עם הגרסה הנוכחית של R8
אם ההודעה גדולה מדי, הכלי MissingStartupProfileItemsDiagnostic גורם לקריסת לקוח Gradle עם שגיאת חריגה מזיכרון

Android Gradle plugin 8.7.1

בעיות שתוקנו
Android Gradle Plugin
agp docs have a lot of TBD
Lint
‫AGP 8.6.1: רגרסיה – שגיאת lint של WrongConstant כשמשתמשים ב-‎[Int].toLong()‎ בתוך ‎ @LongDef ב-Kotlin
שגיאת Lint ‏'At least one host must be specified' (צריך לציין לפחות מארח אחד) כשמגדירים סכימת intent-filter ‏http או https

פלאגין של Android Gradle 8.7.0

בעיות שתוקנו
Android Gradle Plugin
‫AGP צריך להצהיר שהוא תומך ב-API 35 שעומד להיות מושק
‫AGP 8.5: הרבה מאוד משימות mergeDebugResources רצות, מה שמאט את ה-builds
הגדרת NDK 27 כ-NDK ברירת המחדל ב-AGP.
‫AGP צריך להצהיר שהוא תומך ב-API 35 שעומד להיות מושק
‫AGP צריך להצהיר שהוא תומך ב-API 35 שעומד להיות מושק
הפעלת Android lint נכשלה עם NoSuchFileException
‫BuildType#initWith מעתיק את בלוק העיבוד שלאחר מכן, אבל הגדרת ProGuard לא מוחלת
אי אפשר למזג תגים של foregroundServiceType
הפעלת Android lint נכשלה עם NoSuchFileException
Lint
כלי Lint צריך לבדוק אם נעשה שימוש באובייקטים לא חוקיים כ-ViewGroups
השגיאה 'android:host is missing' (חסר מארח) מוצגת עבור כתובות URI עם מארח null
חוסר תאימות של KtAnalysisSessionProvider לבדיקות lint שהוצגו בגרסה 8.7.0-alpha04
‫"False positive" WrongConstant כשמשתמשים ב-PackageManager.ResolveInfoFlags.of עם Kotlin