‫Android Gradle Plugin 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 Developer Preview, ב-JDK 8 ובתכונות השפה Java 8 באמצעות ערכת הכלים Jack. מידע נוסף זמין במדריך לתצוגה מקדימה של 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
      }
    }