פלאגין Android Gradle‏ ‎9.3.0 (יולי 2026)

‫פלאגין של 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 עוזר לכם לבצע אופטימיזציה של כללי כיווץ הקוד וההסתרה באפליקציה.

./gradlew :app:analyzeReleaseR8Config

המשימה :app:analyzeReleaseR8Config יוצרת את הדוח בלי להשלים את צינור העיבוד של ה-APK או ה-Bundle. כך נוצר לולאת משוב קצרה יותר, שמזרזת את האיטרציה של המפתחים בתהליך שיפור כללי השמירה. לחלופין, אפשר ליצור את הדוח באופן אוטומטי על ידי הפעלת גרסת build להפצה של R8 (לדוגמה, assembleRelease או bundleRelease).

מידע נוסף זמין במאמר בנושא הרצת משימת Gradle עצמאית ליצירת דוח.

בעיות שתוקנו

פלאגין של Android Gradle‏ ‎9.3.3

בעיות שתוקנו
Android Gradle Plugin
ה-DSL החדש של אופטימיזציה { enable = true } ב-AGP 9.3.0 לא מגדיר את isMinifyEnabled באובייקט ApplicationVariant
Dexer (D8)
‫D8 9.2.14 איטי בכ-38% מ-8.13.6 ב-`mergeProjectDexDebug` בקלט/פלט זהים
Shrinker (R8)
מצב ניפוי באגים ב-D8: ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 31 — regression between R8 8.8.34 and 8.9.27
VerifyError: Outliner incorrectly extends try-catch region, causing uninitialized register
‫R8 כותב קובץ ‎.kotlin_module עם ‎:בשם שלו, וכך נוצר שם קובץ לא תקין ב-Windows
אי-דטרמיניזם ב-R8: קלט זהה יוצר dex/מיפוי שונים (רגרסיה מ-Retain Assume instructions in LIR)
שכפול מיפוי באמצעות R8 9.1
‫AGP יוצר לסירוגין קובצי dex שנכשלים באימות וגורמים לקריסת האפליקציה בהפעלה
NullPointerException: Cannot invoke Position.getOutermostCaller() because entryPosition is null
צריכת זיכרון גבוהה לכל כלל
‫R8: VerifyError ב-Android 4.4

פלאגין של 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
כשל בבנייה: דליפת ידיות קבצים ב-classes.jar ב-compile_library_classes_jar מונעת בנייה מחדש ב-Windows עד להפעלה מחדש של IDE
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 צריך להשתמש בעובדים

פלאגין של Android Gradle‏ ‎9.3.0-alpha05

בעיות שתוקנו
Shrinker (R8)
מיפוי ההסתרה L8 לא נכלל ב-app mapping.txt

פלאגין של Android Gradle‏ ‎9.3.0-alpha04

בעיות שתוקנו
Android Gradle Plugin
המערכת מתעלמת מקבוצת המקורות keepRules של KMP אם לא מציינים את האפשרות 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).