Android Studio 3.4 (אפריל 2019)
Android Studio 3.4 היא מהדורה ראשית שכוללת מגוון תכונות ושיפורים חדשים.
3.4.2 (יולי 2019)
העדכון המשני הזה כולל תיקוני באגים ושיפורי ביצועים שונים. כדי לראות רשימה של תיקוני באגים בולטים, אפשר לקרוא את הפוסט הרלוונטי ב בלוג Release Updates.
3.4.1 (מאי 2019)
העדכון המשני הזה כולל תיקוני באגים ושיפורי ביצועים שונים. כדי לראות רשימה של תיקוני באגים בולטים, אפשר לקרוא את הפוסט הרלוונטי ב בלוג Release Updates.
בעיות מוכרות בגרסה 3.4.0
יצירת הפרופיל מושבתת כשפורסים את האפליקציה במכשיר שבו פועלת גרסת Android Q Beta.
- כשמשתמשים ב-Data Binding Library, יכול להיות שהקריאה ל-
LiveDataListener.onChanged()
תיכשל עם NPE. תיקון לבעיה הזו יהיה כלול ב-Android Studio 3.4.1, והוא כבר זמין בגרסת ה-Preview האחרונה של Android Studio 3.5. (ב בעיה מס' 122066788)
IntelliJ IDEA 2018.3.4
סביבת הפיתוח המשולבת (IDE) של Android Studio עודכנה בשיפורים מ-IntelliJ IDEA, החל מ-גרסת 2018.3.4.
עדכונים לפלאגין של Android Gradle בגרסה 3.4.0
מידע על החידושים בפלאגין של Android Gradle בגרסה 3.4.0 זמין בהערות הגרסה.
תיבת דו-שיח חדשה של מבנה הפרויקט
תיבת הדו-שיח החדשה של מבנה הפרויקט (PSD) מאפשרת לעדכן בקלות את יחסי התלות ולהגדיר היבטים שונים של הפרויקט, כמו מודולים, וריאנטים של build, הגדרות של חתימה ופיתוח משתנים.
כדי לפתוח את קובץ ה-PSD, בוחרים באפשרות קובץ > מבנה הפרויקט בסרגל התפריטים. אפשר גם לפתוח את קובץ ה-PSD על ידי הקשה על Ctrl+Shift+Alt+S
ב-Windows וב-Linux, או על Command+;
(נקודה-פסיק) ב-macOS. בהמשך מוצגים תיאורים של חלק
מהקטעים החדשים והמעודכנים של חוק ה-PSD.
משתנים
הקטע החדש של המשתנים ב-PSD מאפשר ליצור ולנהל משתני build, כמו אלה ששומרים על עקביות של מספרי הגרסאות של יחסי התלות בפרויקט.
- הצגה ועריכה במהירות של משתני build שכבר קיימים בסקריפטים של Gradle של ה-build בפרויקט שלכם.
- הוספה של משתני build חדשים ברמת הפרויקט או המודול ישירות מה-PSD.
הערה: אם קובצי ההגדרה הקיימים של ה-build מקצים ערכים באמצעות סקריפטים מורכבים של Groovy, יכול להיות שלא תוכלו לערוך את הערכים האלה באמצעות ה-PSD. בנוסף, אי אפשר לערוך קובצי build שנכתבו ב-Kotlin באמצעות ה-PSD.
מודולים
מגדירים מאפיינים שחלים על כל הווריאנטים של ה-build במודול קיים, או מוסיפים מודולים חדשים לפרויקט מהקטע Modules. לדוגמה, כאן אפשר להגדיר מאפייני defaultConfig
או לנהל הגדרות חתימה.
יחסי תלות
כדי לבדוק ולראות באופן חזותי כל יחסי תלות בתרשים יחסי התלות של הפרויקט, כפי ש-Gradle פתר אותם במהלך סנכרון הפרויקט, פועלים לפי השלבים הבאים:
- בחלונית הימנית של קובץ ה-PSD, בוחרים באפשרות יחסי תלות.
- בחלונית Modules, בוחרים את המודול שבשבילו רוצים לבדוק את יחסי התלות שטופלו.
- בצד שמאל של קובץ ה-PSD, פותחים את החלונית Resolved Dependencies (יחסי תלות שהוגדרו) שמוצגת בהמשך.
אפשר גם לחפש במהירות יחסי תלות ולהוסיף אותם לפרויקט. לשם כך, בוחרים מודול בקטע Dependencies ב-PSD, לוחצים על הלחצן (+) בקטע Declared Dependencies ובוחרים את סוג יחסי התלות שרוצים להוסיף.
בהתאם לסוג התלות שבחרתם, אמורה להופיע תיבת דו-שיח, דומה לזו שבהמשך, שעוזרת להוסיף את התלות למודול.
בניית וריאציות
בקטע הזה ב-PSD, יוצרים ומגדירים וריאציות build וטעמיו של המוצר לכל מודול בפרויקט. אפשר להוסיף placeholder של מניפסט, להוסיף קבצי ProGuard, להקצות מפתחות חתימה ועוד.
הצעות
ההצעות לעדכונים של יחסי התלות בפרויקט ומשתני ה-build מופיעות בקטע הצעות, כפי שמוצג בהמשך.
מנהל המשאבים החדש
מנהל המשאבים הוא חלון כלים חדש שמשמש לייבוא, ליצירה, לניהול ולשימוש במשאבים באפליקציה. אפשר לפתוח את חלון הכלים על ידי בחירה באפשרות תצוגה > חלונות כלים > מנהל משאבים בסרגל התפריטים. באמצעות מנהל המשאבים תוכלו:
- הצגה חזותית של משאבים: אפשר לראות תצוגה מקדימה של פריטים שניתנים להזזה, צבעים ופריסות כדי למצוא במהירות את המשאבים שצריכים.
- ייבוא בכמות גדולה: אפשר לייבא כמה נכסי drawable בבת אחת על ידי גרירה ושחרור שלהם בחלון הכלי Resource Manager או באמצעות האשף Import drawables. כדי לגשת לאשף, לוחצים על הלחצן (+) בפינה הימנית העליונה של חלון הכלי, ואז בוחרים באפשרות Import Drawables בתפריט הנפתח.
-
המרת קובצי SVG לאובייקטים מסוג
VectorDrawable
: אפשר להשתמש באשף ייבוא רכיבים גרפיים שניתנים לציור כדי להמיר את קובצי ה-SVG לאובייקטים מסוגVectorDrawable
. - גרירה ושחרור של נכסים: מחלון הכלים של מנהל המשאבים, אפשר לגרור ולשחרר נכסים גרפיים גם בתצוגת העיצוב וגם בתצוגת ה-XML של עורך הפריסה.
- הצגת גרסאות חלופיות: עכשיו אפשר להציג גרסאות חלופיות של המשאבים בלחיצה כפולה על המשאב בחלון הכלי. בתצוגה הזו אפשר לראות את הגרסאות השונות שיצרת ואת ההגדרות המגדירות שנכללו.
- תצוגת משבצות ותצוגת רשימה: אתם יכולים לשנות את התצוגה בחלון הכלי כדי להציג את המשאבים בפריסות שונות.
מידע נוסף מופיע במדריך לניהול משאבי האפליקציות.
בדיקת מזהי build בזמן יצירת פרופילים וניפוי באגים של קובצי APK
כשאתם מספקים קובצי סמלים לניפוי באגים לספריות המשותפות .so
בתוך קובץ ה-APK, Android Studio מאמתת שמזהה ה-build של קובצי הסמלים שסופקו תואם למזהה ה-build של הספריות .so
בתוך קובץ ה-APK.
אם אתם יוצרים את הספריות המקומיות ב-APK עם מזהה build, Android Studio בודק אם מזהה ה-build בקובצי הסמלים תואם למזהה ה-build בספריות המקומיות, ומסרב לקובצי הסמלים אם יש אי-התאמה. אם לא יצרתם את ה-build עם מזהה build, שליחה של קובצי סמלים שגויים עלולה לגרום לבעיות בניפוי באגים.
R8 מופעל כברירת מחדל
ב-R8 משולבים הסרת סוכר, צמצום, ערפול, אופטימיזציה והסרת קוד מיותר (dexing) – והתוצאה היא שיפורים משמעותיים בביצועי ה-build. R8 הוצג בפלאגין Android Gradle 3.3.0, והוא מופעל עכשיו כברירת מחדל גם בפרויקטים של אפליקציות וגם בפרויקטים של ספריות ל-Android באמצעות הפלאגין 3.4.0 ואילך.
בתמונה הבאה מוצגת סקירה כללית ברמה גבוהה של תהליך הידור לפני ההשקה של R8.
עכשיו, בעזרת R8, פעולת הסרת הסוכר, כיווץ, ערפול קוד (obfuscation), אופטימיזציה והסרה (D8) מבוצעות בשלב אחד בלבד, כפי שמתואר בהמשך.
חשוב לזכור ש-R8 תוכנן לפעול עם כללי ProGuard הקיימים שלכם, ולכן סביר להניח שלא תצטרכו לבצע פעולות כלשהן כדי ליהנות מ-R8. עם זאת, זו טכנולוגיה שונה מ-ProGuard ומיועדת במיוחד לפרויקטים של Android. לכן, יכול להיות שהצמצום והאופטימיזציה יגרמו להסרת קוד ש-ProGuard לא הסיר. לכן, במצב הלא סביר הזה, יכול להיות שתצטרכו להוסיף כללים נוספים כדי שהקוד הזה יישאר בפלט ה-build.
אם נתקלת בבעיות בשימוש ב-R8, ניתן לעיין
בשאלות הנפוצות על תאימות ל-R8
כדי לבדוק אם יש פתרון לבעיה שלך. אם הפתרון לא מתועד, תוכלו לדווח על באג.
כדי להשבית את R8, מוסיפים את אחת מהשורות הבאות לקובץ gradle.properties
של הפרויקט:
# Disables R8 for Android Library modules only.
android.enableR8.libraries = false
# Disables R8 for all modules.
android.enableR8 = false
הערה: בסוג build מסוים, אם מגדירים את useProguard
לערך build.gradle
בקובץ build.gradle
של האפליקציה, הפלאגין של Android Gradle משתמש ב-R8 כדי לכווץ את קוד האפליקציה לסוג ה-build הזה, גם אם משביתים את R8 בקובץ gradle.properties
של הפרויקט.false
עורך הניווט תומך עכשיו בכל סוגי הארגומנטים
בעורך הניווט יש עכשיו תמיכה בכל סוגי הארגומנטים שנתמכים על ידי רכיב הניווט. למידע נוסף על הסוגים הנתמכים, ראו העברת נתונים בין יעדים.
שיפורים בכלי לעריכת פריסות {:#layout-editor}
חלונית Attributes (מאפיינים) בכלי לעריכת פריסות שונתה לדף אחד עם קטעים שאפשר להרחיב כדי להציג את המאפיינים שאפשר להגדיר. בחלונית מאפיינים יש גם את העדכונים הבאים:
- בקטע החדש מאפיינים שהוגדרו מפורטים המאפיינים שצוינו בקובץ הפריסה, ומאפשרים להוסיף במהירות מאפיינים חדשים.
- בחלונית מאפיינים מופיעים עכשיו גם אינדיקטורים לצד כל מאפיין, שמופיעים בצורה מלאה כשערך המאפיין הוא הפניית משאב, ובאופן ריק במקרים אחרים.
- מאפיינים עם שגיאות או אזהרות מודגשים עכשיו. הדגשות באדום מצביעות על שגיאות (לדוגמה, כשמשתמשים בערכים לא חוקיים של פריסה), והדגשות בכתום מצביעות על אזהרות (לדוגמה, כשמשתמשים בערכים מקודדים).
פעולה חדשה עם כוונה לייבא יחסי תלות במהירות
אם תתחילו להשתמש בחלק מהכיתות של Jetpack ו-Firebase בקוד שלכם, תוצג לכם פעולת מטרה חדשה עם הצעה להוסיף לפרויקט את התלות הנדרשת בספריית Gradle, אם עדיין לא עשיתם זאת. לדוגמה, אם תתייחסו לכיתה WorkManager
בלי לייבא קודם את התלות הנדרשת android.arch.work:work-runtime
, תוכלו לעשות זאת בקלות בלחיצה אחת באמצעות פעולת מטרה, כפי שמוצג בהמשך.
באופן ספציפי, מכיוון ש-Jetpack ארז מחדש את ספריית התמיכה בחבילות נפרדות שקלות יותר לניהול ולעדכון, ולכן הפעולה הזו עוזרת להוסיף במהירות רק את יחסי התלות שדרושים לרכיבי Jetpack שבהם רוצים להשתמש.