פלאגין של Android Gradle‏ 2.1.0 (אפריל 2016)

2.1.3 (אוגוסט 2016)

העדכון הזה מחייב Gradle בגרסה 2.14.1 ומעלה. ‫Gradle 2.14.1 כולל שיפורים בביצועים, תכונות חדשות ותיקון חשוב של פגיעות באבטחה. פרטים נוספים זמינים בהערות המוצר של Gradle.

תלויות:
גרסת המינימום גרסת ברירת המחדל הערות
Gradle 2.10 2.10 יש מידע נוסף במאמר בנושא עדכון Gradle.
SDK Build Tools 23.0.2 23.0.2 התקנה או הגדרה של SDK Build Tools.
הפרטים החדשים:
  • הוספנו תמיכה ב-N תצוגה מקדימה למפתחים, ב-JDK 8 ובתכונות השפה Java 8 באמצעות ערכת הכלים Jack. מידע נוסף זמין במדריך לתצוגה מקדימה של Android N.

    הערה: הפעלה מיידית לא פועלת כרגע עם Jack, והיא תושבת בזמן השימוש בשרשרת הכלים החדשה. צריך להשתמש ב-Jack רק אם מפתחים לגרסת N Preview ורוצים להשתמש בתכונות השפה הנתמכות של Java 8.

  • נוספה תמיכה כברירת מחדל בהידור מצטבר של Java כדי לקצר את זמן ההידור במהלך הפיתוח. הוא עושה את זה על ידי קומפילציה מחדש רק של חלקים בקוד המקור שהשתנו או שצריך לבצע להם קומפילציה מחדש. כדי להשבית את התכונה הזו, מוסיפים את הקוד הבא לקובץ build.gradle ברמת המודול:

    מגניב

    android {
      ...
      compileOptions {
        incremental false
      }
    }

    Kotlin

    android {
      ...
      compileOptions {
        incremental = false
      }
    }
  • הוספנו תמיכה ב-dexing-in-process, שמבצע dexing בתהליך הבנייה ולא בתהליכי VM חיצוניים נפרדים. השינוי הזה לא רק מאיץ את הבנייה המצטברת, אלא גם את הבנייה המלאה. התכונה מופעלת כברירת מחדל בפרויקטים שבהם הגודל המקסימלי של הערימה של Gradle daemon מוגדר ל-2048MB לפחות. כדי לעשות את זה, צריך לכלול את השורות הבאות בקובץ gradle.properties של הפרויקט:

    ```none org.gradle.jvmargs = -Xmx2048m ```

    אם הגדרתם ערך ל- javaMaxHeapSize בקובץ build.gradle ברמת המודול, צריך להגדיר את org.gradle.jvmargs לערך של javaMaxHeapSize + 1024MB. לדוגמה, אם הגדרתם את הערך javaMaxHeapSize ל-2048m, צריך להוסיף את השורה הבאה לקובץ gradle.properties של הפרויקט:

    ```none org.gradle.jvmargs = -Xmx3072m ```

    כדי להשבית את תהליך ה-DEX, מוסיפים את הקוד הבא לקובץ build.gradle ברמת המודול:

    מגניב

    android {
      ...
      dexOptions {
          dexInProcess false
      }
    }

    Kotlin

    android {
      ...
      dexOptions {
          dexInProcess = false
      }
    }