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

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

תאימות

רמת ה-API המקסימלית שנתמכת על ידי Android Gradle plugin 8.7 היא רמת API 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 Plugin, אם יש LintErrorכשמריצים lint באמצעות Gradle, משימת הניתוח של lint זורקת חריגה. השינוי הזה מונע שמירה במטמון של שגיאות נדירות במטמון של הגרסה.

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

בעיות שתוקנו

פלאגין Android Gradle‏ 8.7.0

בעיות שתוקנו
Android Gradle Plugin
‫AGP צריך לציין שהוא תומך ב-API 35 שעומד להיות מושק
‫AGP 8.5: הרבה יותר משימות 'מיזוג משאבי ניפוי הבאגים' מופעלות, מה שמאט את הבנייה
הגדרת 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' ב-URI עם מארח null
חוסר תאימות של KtAnalysisSessionProvider לבדיקות lint שהוצגו בגרסה 8.7.0-alpha04
‫"False positive" WrongConstant כשמשתמשים ב-PackageManager.ResolveInfoFlags.of עם Kotlin

פלאגין Android Gradle‏ 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.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‏ 8.7.3

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