‫Android Gradle Plugin 3.2.0 (ספטמבר 2018)

כדי להשתמש בגרסה הזו של הפלאגין ל-Android, צריך:

גרסת מינימום גרסת ברירת המחדל הערות
Gradle 4.6 4.6 מידע נוסף זמין במאמר בנושא עדכון Gradle.
SDK Build Tools 28.0.3 28.0.3 מתקינים או מגדירים SDK Build Tools.

3.2.1 (אוקטובר 2018)

בעקבות העדכון הזה, אין יותר צורך לציין גרסה לכלי ה-Build של ה-SDK. פלאגין Android Gradle משתמש עכשיו בגרסה 28.0.3 כברירת מחדל.

תכונות חדשות

  • תמיכה ביצירת קובצי Android App Bundle: קובץ ה-App Bundle הוא פורמט חדש להעלאה שכולל את כל הקוד והמשאבים של האפליקציה, ומעביר את יצירת ה-APK והחתימה שלו לחנות Google Play. לא צריך יותר ליצור, לחתום ולנהל כמה קובצי APK, והמשתמשים מקבלים הורדות קטנות יותר שעברו אופטימיזציה למכשיר שלהם. מידע נוסף זמין במאמר בנושא קובץ Android App Bundle.

  • תמיכה במהירויות בנייה מצטברות משופרות כשמשתמשים במעבדי הערות: ה-DSL‏ AnnotationProcessorOptions מורחב עכשיו ל-CommandLineArgumentProvider, מה שמאפשר לכם או ליוצר מעבד ההערות להוסיף הערות לארגומנטים של המעבד באמצעות הערות מסוג מאפיין של בנייה מצטברת. השימוש בהערות האלה משפר את הנכונות והביצועים של בנייה מצטברת ושל בנייה נקייה במטמון. מידע נוסף זמין במאמר בנושא העברת ארגומנטים למעבדי הערות.

  • כלי להעברה ל-AndroidX: כשמשתמשים בפלאגין Android Gradle 3.2.0 עם Android 3.2 ומעלה, אפשר להעביר את יחסי התלות המקומיים וה-Maven של הפרויקט לשימוש בספריות AndroidX החדשות. כדי לעשות זאת, בוחרים באפשרות Refactor > Migrate to AndroidX (שינוי מבנה > העברה ל-AndroidX) מסרגל התפריטים. בנוסף, השימוש בכלי ההעברה הזה מגדיר את הדגלים הבאים לערך true בקובץ gradle.properties:

    • android.useAndroidX: אם הערך הוא true, הפלאגין ל-Android משתמש בספריית AndroidX המתאימה במקום בספריית תמיכה. אם לא מציינים את הדגל הזה, התוסף מגדיר אותו כ-false כברירת מחדל.

    • android.enableJetifier: אם מגדירים את הערך true, הפלאגין של Android מעביר באופן אוטומטי ספריות קיימות של צד שלישי לשימוש ב-AndroidX על ידי כתיבה מחדש של הקבצים הבינאריים שלהן. אם לא מציינים את הדגל הזה, התוסף מגדיר אותו כ-false כברירת מחדל. אפשר להגדיר את הדגל הזה לערך true רק אם גם android.useAndroidX מוגדר לערך true, אחרת תופיע שגיאת בנייה.

      מידע נוסף זמין במאמר סקירה כללית על AndroidX.

  • כלי חדש לכיווץ קוד, R8:‏ R8 הוא כלי חדש לכיווץ קוד ולהסתרת קוד שמחליף את ProGuard. כדי להתחיל להשתמש בגרסת הטרום-השקה של R8, צריך לכלול את השורות הבאות בקובץ gradle.properties של הפרויקט:

            android.enableR8 = true
            
            android.enableR8 = true
            

שינויים בהתנהגות

  • התכונה Desugaring עם D8 מופעלת עכשיו כברירת מחדל.

  • ‫AAPT2 זמין עכשיו במאגר Maven של Google. כדי להשתמש ב-AAPT2, צריך לוודא שהתלות google() מופיעה בקובץ build.gradle, כמו שמוצג בהמשך:

              buildscript {
                    repositories {
                        google() // here
                        jcenter()
                    }
                    dependencies {
                        classpath 'com.android.tools.build:gradle:3.2.0'
                    }
                }
                allprojects {
                    repositories {
                        google() // and here
                        jcenter()
                }
              
              buildscript {
                    repositories {
                        google() // here
                        jcenter()
                    }
                    dependencies {
                        classpath 'com.android.tools.build:gradle:3.2.0'
                    }
                }
                allprojects {
                    repositories {
                        google() // and here
                        jcenter()
                }
              
  • התכונה Native multidex מופעלת עכשיו כברירת מחדל. בגרסאות קודמות של Android Studio, הפעלתם multidex מקורי כשפרסתם את גרסת ניפוי הבאגים של אפליקציה במכשיר עם Android ברמת API 21 ומעלה. מעכשיו, בין אם אתם פורסים לאפליקציה במכשיר או יוצרים APK לפרסום, הפלאגין Android Gradle מאפשר שימוש ב-multidex מקורי לכל המודולים שמוגדרים עם minSdkVersion=21 ומעלה.

  • התוסף אוכף עכשיו גרסה מינימלית של תוסף ה-protobuf ‏ (0.8.6), תוסף ה-Kotlin ‏ (1.2.50) ותוסף Crashlytics ‏ (1.25.4).

  • הפלאגין של מודול התכונות,com.android.feature, אוכף עכשיו את השימוש רק באותיות, בספרות ובקווים תחתונים כשמציינים שם של מודול. לדוגמה, אם שם מודול התכונה כולל מקפים, תופיע שגיאת בנייה. ההתנהגות הזו זהה לזו של התוסף dynamic feature.

תיקוני באגים

  • הפעולה JavaCompile ניתנת עכשיו לשמירה במטמון בפרויקטים עם קשירת נתונים. (בעיה מספר 69243050)
  • שיפור המנגנון למניעת קומפילציה של מודולים בספרייה עם קישור נתונים. (בעיה מספר 77539932)
  • אם השבתתם את התכונה configure-on-demand בגרסאות קודמות בגלל שגיאות בלתי צפויות בבנייה, עכשיו אתם יכולים להפעיל אותה מחדש. (Issue #77910727)