פלאגין Android Gradle 3.1.0 (מרץ 2018)
לגרסה הזו של הפלאגין ל-Android נדרשות התכונות הבאות:
גרסת המינימום | גרסת ברירת המחדל | הערות | |
---|---|---|---|
גרדל | 4.4 | 4.4 | מידע נוסף על עדכון Gradle |
כלים לבניית SDK | 27.0.3 | 27.0.3 | התקנה או הגדרה של כלים לבניית SDK. חשוב לזכור שכבר לא צריך לציין גרסה לכלי ה-build באמצעות הנכס android.buildToolsVersion – הפלאגין משתמש בגרסה המינימלית הנדרשת כברירת מחדל. |
מהדר DEX חדש, D8
כברירת מחדל, מערכת Android Studio משתמשת עכשיו במהדר DEX חדש בשם D8. DEX
compilation הוא התהליך של טרנספורמציה של בייטקוד .class
בייטקוד .dex
לסביבת זמן הריצה של Android (או Dalvik, לגרסאות ישנות יותר
גרסאות Android). בהשוואה למהדר הקודם, שנקרא DX, D8
מהדרת מהר יותר ומפיקה קובצי DEX קטנים יותר, תוך שמירה על
ביצועים טובים יותר בזמן ריצה של האפליקציה.
D8 לא אמור לשנות את תהליך העבודה היומיומי של פיתוח אפליקציות. אבל אם
אם היו בעיות כלשהן שקשורות למהדר (compiler) חדש,
לדווח על באג. אפשר באופן זמני
להשבית את D8 ולהשתמש ב-DX על ידי הכללת הקוד הבא בפרויקט
קובץ gradle.properties
:
android.enableD8=false
בפרויקטים
להשתמש בתכונות השפה Java 8,
תהליך ההסרה המצטבר מופעל כברירת מחדל. אפשר להשבית אותה בדרכים הבאות:
מציין את הפרטים הבאים בקובץ gradle.properties
של הפרויקט:
android.enableIncrementalDesugaring=false.
תצוגה מקדימה של משתמשים: אם אתם כבר משתמשים בגרסת טרום-השקה (Preview) של D8, שימו לב שהיא משלבת עכשיו מול ספריות שכלולות כלים לפיתוח SDK – לא JDK. לכן, אם אתם ניגשים לממשקי API שקיימים ב-JDK אבל לא ב-build של ה-SDK מקבלים שגיאת הידור (compile).
שינויים בהתנהגות
-
כשיוצרים כמה חבילות APK שכל אחת מהן מתמקדת בממשק ABI שונה, לא מפיקה יותר חבילות APK לממשקי ה-ABI הבאים כברירת מחדל:
mips
,mips64
וגםarmeabi
.אם רוצים לפתח חבילות APK שמטרגטות לממשקי ה-ABI האלה, צריך להשתמש NDK r16b ומטה וגם לציין את ממשקי ה-ABI בקובץ
build.gradle
, כפי שמוצג כאן:splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
-
build של הפלאגין של Android המטמון מסיר עכשיו רשומות מהמטמון מלפני יותר מ-30 יום.
-
מתבצעת העברה של
"auto"
אלresConfig
כבר לא בוחר אוטומטית משאבי מחרוזות לאריזה ב-APK. אם ממשיכים להשתמש ב-"auto"
, הפלאגין מקבץ את כל המחרוזות למשאבים שהאפליקציה ויחסי התלות שלה מספקים. לכן, כדאי במקום זאת לציין כל אזור שבו רוצים שהפלאגין יארוז ל-APK. -
מכיוון שמודולים מקומיים לא יכולים להיות תלויים ב-APK לבדיקה של האפליקציה, כדאי להוסיף יחסיים לבדיקות האינסטרומנטליות באמצעות הגדרה אישית של
androidTestApi
, במקוםandroidTestImplementation
, גורם ל-Gradle האזהרה הבאה:WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
תיקונים
- פתרון בעיה שבה מערכת Android Studio לא מזהה כראוי ותלויות בגרסאות build מורכבות.
- תיקון בעיה שבה מתקבלת שגיאת סנכרון של פרויקט בטעינה של הפלאגין של Android כמה פעמים ב-build אחד. לדוגמה, כשכמה פעמים כל אחד מפרויקטים המשנה כולל את הפלאגין של Android ב-buildscript שלהם נתיב הכיתה.