‫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.

  • תמיכה במהירויות בנייה מצטברות משופרות כשמשתמשים במעבדי הערות: שפת התצורה AnnotationProcessorOptions DSL מרחיבה עכשיו את 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
            

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

  • ההגדרה 'הסרת סוכר' באמצעות 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 בגרסאות קודמות בגלל שגיאות בלתי צפויות ב-build, עכשיו אתם יכולים להפעיל אותה מחדש. (בעיה מספר 77910727)