פלאגין של Android Gradle 9.3 הוא גרסה משנית שכוללת מגוון של תכונות ושיפורים חדשים.
תאימות
רמת ה-API המקסימלית שנתמכת בפלאגין של Android Gradle 9.3 היא רמת API 37.
מידע נוסף על תאימות:
|
גרסת המינימום |
גרסת ברירת המחדל |
הערות |
| Gradle |
9.5.0 |
9.5.0 |
יש מידע נוסף במאמר בנושא עדכון Gradle. |
| SDK Build Tools |
36.0.0 |
36.0.0 |
צריך להתקין או להגדיר את SDK Build Tools. |
| NDK |
לא רלוונטי |
28.2.13676358 |
צריך להתקין או להגדיר גרסה אחרת של NDK. |
| JDK |
17 |
17 |
מידע נוסף זמין במאמר בנושא הגדרת גרסת ה-JDK. |
משימת Gradle עצמאית של R8 Configuration Analyzer
בפלאגין של Android Gradle 9.3 נוספה משימת Gradle ייעודית להפעלת כלי הניתוח של הגדרות R8 בבידוד. הכלי R8 Configuration Analyzer עוזר לכם לבצע אופטימיזציה של כללי כיווץ הקוד וערפול הקוד (obfuscation) של האפליקציה.
./gradlew :app:analyzeReleaseR8Config
המשימה :app:analyzeReleaseR8Config יוצרת את הדוח בלי להשלים את צינור העיבוד של ה-APK או ה-Bundle. כך נוצר לולאת משוב קצרה יותר,
שמזרזת את האיטרציה של המפתחים בתהליך שיפור כללי השמירה. לחלופין, אפשר ליצור את הדוח באופן אוטומטי על ידי הפעלת גרסת build להפצה של R8 (כמו assembleRelease או bundleRelease).
מידע נוסף זמין במאמר בנושא הרצת משימת Gradle עצמאית ליצירת דוח.
בעיות שתוקנו
פלאגין של Android Gradle 9.3.2
| בעיות שתוקנו |
| Lint |
|
AGP 9.3 lint קורס ב-JDK 17 — NoSuchMethodError: java.util.List.removeLast() in bundled intellij-core JavaDocParser
|
|
פלאגין של Android Gradle 9.3.1
| בעיות שתוקנו |
|
לא סומנו בעיות ציבוריות שתוקנו ב-AGP 9.3.1
|
פלאגין של Android Gradle 9.3.0-rc02
| בעיות שתוקנו |
|
לא סומנו בעיות ציבוריות כבעיות שתוקנו ב-AGP 9.3.0-rc02
|
פלאגין של Android Gradle 9.3.0-rc01
| בעיות שתוקנו |
|
לא סומנו בעיות ציבוריות כבעיות שתוקנו ב-AGP 9.3.0-rc01
|
פלאגין של Android Gradle 9.3.0-alpha12
| בעיות שתוקנו |
| Android Gradle Plugin |
|
Build Failure: File handle leak on classes.jar in compile_library_classes_jar prevents rebuilds on Windows until IDE restart
|
|
| Lint |
|
Lint מתייחס לספריית Java מיובאת כפרויקט Android, ומתעלם מגרסת ה-SDK של הקומפילציה
|
|
פלאגין של Android Gradle 9.3.0-alpha11
| בעיות שתוקנו |
|
לא סומנו בעיות ציבוריות כבעיות שתוקנו ב-AGP 9.3.0-alpha11
|
פלאגין Android Gradle 9.3.0-alpha10
| בעיות שתוקנו |
|
לא סומנו בעיות ציבוריות כבעיות שתוקנו ב-AGP 9.3.0-alpha10
|
פלאגין של Android Gradle 9.3.0-alpha09
| בעיות שתוקנו |
|
לא סומנו בעיות ציבוריות כבעיות שתוקנו ב-AGP 9.3.0-alpha09
|
פלאגין של Android Gradle 9.3.0-alpha08
| בעיות שתוקנו |
|
לא סומנו בעיות ציבוריות כבעיות שתוקנו ב-AGP 9.3.0-alpha08
|
פלאגין Android Gradle 9.3.0-alpha07
| בעיות שתוקנו |
|
לא סומנו בעיות ציבוריות כבעיות שתוקנו ב-AGP 9.3.0-alpha07
|
פלאגין של Android Gradle 9.3.0-alpha06
| בעיות שתוקנו |
| Android Gradle Plugin |
|
JavaDocGenerationTask צריך להשתמש ב-workers
|
|
פלאגין של Android Gradle 9.3.0-alpha05
| בעיות שתוקנו |
| Shrinker (R8) |
|
מיפוי ההסתרה L8 לא נכלל ב-app mapping.txt
|
|
פלאגין של Android Gradle 9.3.0-alpha04
| בעיות שתוקנו |
| Android Gradle Plugin |
|
המערכת מתעלמת מקבוצת המקורות keepRules של KMP אם לא מציינים את האפשרות it.consumerKeepRules.publish = true
|
|
פלאגין של Android Gradle 9.3.0-alpha03
| בעיות שתוקנו |
| Android Gradle Plugin |
|
java.lang.ClassNotFoundException: Didn't find class "com.android.tools.r8.RecordTag" after upgrading gradle to 9.2.0
|
|
| Lint |
|
שגיאת Lint כשכיווץ מקורות המידע מושבת
|
|
פלאגין של Android Gradle 9.3.0-alpha02
| בעיות שתוקנו |
| Android Gradle Plugin |
|
הגשת בקשה להוספת תכונה: הוספת תמיכה ב-native_libs_merge_blame_file לפלאגין של Android Gradle
|
|
| Lint |
|
חסר גרש הפוך בהודעת בעיה של AnnotationDetector
|
|
שגיאת Lint כשכיווץ מקורות המידע מושבת
|
|
פלאגין Android Gradle 9.3.0-alpha01
| בעיות שתוקנו |
| Android Gradle Plugin |
|
בעיה בקודי גרסאות שנוצרו אוטומטית
|
|
AGP: מעבר משימוש ב-Project כסימון תלות
|
|
| Lint |
|
תוצאה חיובית שגויה של Lint עם UseKtx
|
|
פלאגין של Android Gradle 9.3.0
| בעיות שתוקנו |
|
לא סומנו בעיות ציבוריות כבעיות שתוקנו ב-AGP 9.3.0
|
עדכנו את שפת התצורה הספציפית לתחום (DSL) של האופטימיזציה כדי להגדיר כללי שמירה של R8
נוסף DSL מעודכן לאופטימיזציה כדי להגדיר כללי שמירה ספציפיים (keep rule) לאופטימיזציה של R8, שנתמכים על ידי מודולים של אפליקציות ובדיקות של מודולים של ספריות. כדי להגדיר אופטימיזציה באמצעות ה-DSL המעודכן, צריך להשתמש בבלוק optimization החדש. באפליקציות, מגדירים את הבלוק optimization בתוך סוג build (כמו release או debug) בסקריפט ה-build ברמת האפליקציה. ה-DSL המעודכן לאופטימיזציה מפשט את ההגדרה של R8:
- הפעלת האופטימיזציה מאפשרת גם אופטימיזציה של קוד וגם כיווץ מקורות מידע שעבר אופטימיזציה.
- כבר לא צריך לציין את קובץ ברירת המחדל של כללי השמירה ב-Android.
שימו לב: אנחנו ממשיכים לתמוך ב-DSL מדור קודם.
הצגת קבוצות של מקורות להגדרת כללי שמירה
ממקמים את כללי השמירה בקבוצת המקור src/<variant>/keepRules/, עם הסיומת .keep. קבוצות מקור לכללי שמירה נתמכות על ידי שפת התחום (DSL) המעודכנת לאופטימיזציה ועל ידי שפת התחום מדור קודם. השימוש בקבוצות מקורות בכללי שמירה נתמך במודולים של אפליקציות, במודולים של ספריות וכדרך להגדיר כללי צרכן במודולים של Kotlin Multiplatform (KMP).