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)

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

תכונות חדשות

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

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

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

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

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

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

  • כלי חדש לכווץ קוד, R8: R8 הוא כלי חדש לכווץ קוד ולהסתרת קוד (obfuscation) שמחליף את 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()
                }
              
  • 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, עכשיו מחייב להשתמש רק באותיות, בספרות ובקווים תחתונים כשמציינים שם של מודול. לדוגמה, אם שם מודול התכונה כולל מקפים, תוצג הודעת שגיאה ב-build. ההתנהגות הזו תואמת להתנהגות של הפלאגין של התכונות הדינמיות.

תיקוני באגים

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