פלאגין של Android Gradle 9.2 הוא גרסה משנית שכוללת מגוון של תכונות ושיפורים חדשים.
תאימות
רמת ה-API המקסימלית שנתמכת בפלאגין של Android Gradle 9.2 היא 36.1. מידע נוסף על תאימות:
| גרסת המינימום | גרסת ברירת המחדל | הערות | |
|---|---|---|---|
| Gradle | 9.4.1 | 9.4.1 | יש מידע נוסף במאמר בנושא עדכון Gradle. |
| SDK Build Tools | 36.0.0 | 36.0.0 | צריך להתקין או להגדיר את SDK Build Tools. |
| NDK | לא רלוונטי | 28.2.13676358 | צריך להתקין או להגדיר גרסה אחרת של NDK. |
| JDK | 17 | 17 | מידע נוסף זמין במאמר בנושא הגדרת גרסת ה-JDK. |
דוחות מאוחדים על כיסוי ועל בדיקות
ב-AGP 9.2.0-alpha07 נוספו משימות ליצירת לוחות בקרה ב-HTML שמרכזים את תוצאות הבדיקות ואת הכיסוי מסוגים שונים של בדיקות (יחידה ואינסטרומנטציה), מודולים ווריאנטים של בנייה, ומספקים סקירה מקיפה בלוח בקרה אחד. מידע נוסף זמין במאמרים בנושא יצירת דוחות מאוחדים של רמת הכיסוי של הקוד והצגת דוחות מאוחדים של בדיקות.
שינויים בגרסה R8
השינויים הבאים ב-R8 כלולים ב-AGP 9.2.0.
סמנטיקה מחמירה יותר של -keepattributes לשמירה של הערות בלתי נראות בזמן ריצה
אי אפשר לקרוא בזמן ריצה אנוטציות בלתי נראות. לכן, D8 מסיר ללא תנאי הערות בלתי נראות בזמן ריצה, ואין אפשרות לשנות את זה.
כדי להבטיח תאימות ל-ProGuard, R8 תומך בפלט של הערות שאינן גלויות בזמן הריצה. אבל כשמבצעים קומפילציה ל-DEX, בדרך כלל לא צריך לשמור הערות שאינן גלויות בזמן הריצה. עם זאת, נהוג לכלול את הכלל הנוח -keepattributes *Annotation* (ישירות או בעקיפין מכללי שמירה של צרכנים) כדי ש-R8 ישמור הערות שניתן לראות בזמן הריצה.
לצערנו, הפעולה הזו גם גורמת לכך שההערות בזמן הריצה לא יהיו גלויות.
כדי לפתור את הבעיה הזו ולשפר את ההתאמה להתנהגות של D8, תבניות -keepattributes
עם תווים כלליים לחיפוש כבר לא תואמות ל-RuntimeInvisibleAnnotations, RuntimeInvisibleParameterAnnotations ו-RuntimeInvisibleTypeAnnotations.
לכן, הערות בלתי נראות בזמן ריצה יישמרו רק אם שם המאפיין מוזכר במפורש ללא תווים כלליים.
אף אחד מהכללים הבאים לא ישמור עכשיו הערות בלתי נראות בזמן ריצה:
-keepattributes *
-keepattributes *Annotation*
-keepattributes *Invisible*
כדי לשמור על הערות בלתי נראות בזמן הריצה, משתמשים בכלל הבא:
-keepattributes RuntimeInvisibleAnnotations,
RuntimeInvisibleParameterAnnotations,
RuntimeInvisibleTypeAnnotations
תמיכה בשמות מוכחשים בכללי חברים
השפה של ההגדרה הורחבה, כך שעכשיו אפשר להתאים תבניות של שמות חברים שמופיע בהן סימן שלילה.
לדוגמה, כדי להתאים לכל השיטות שלא מסתיימות ב-ForTesting, משתמשים בכלל הבא:
-keepclassmembers class com.example.MyClass {
*** !*ForTesting(...);
}
אפשר גם להשתמש בתבניות שמות של חברי מועדון כדי לשלול את התנאי המוקדם של כללי -if. אם תבנית של שם חבר שמופיע בשלילה מכילה תווים כלליים לחיפוש, אי אפשר להפנות לאחור לתווים האלה בכלל -if.
בעיות שתוקנו
פלאגין של Android Gradle 9.2.0-alpha04
| בעיות שתוקנו | |||
|---|---|---|---|
| Android Gradle Plugin |
|
||
פלאגין של Android Gradle 9.2.0-alpha03
| בעיות שתוקנו | |||
|---|---|---|---|
| Android Gradle Plugin |
|
||
| Lint |
|
||
| שילוב Lint |
|
||
פלאגין של Android Gradle 9.2.0-alpha02
| בעיות שתוקנו | ||||
|---|---|---|---|---|
| Android Gradle Plugin |
|
|||
| שילוב Lint |
|
|||
פלאגין של Android Gradle 9.2.0-alpha01
| בעיות שתוקנו | |||||
|---|---|---|---|---|---|
| Android Gradle Plugin |
|
||||
| Lint |
|
||||