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, הגדרות חתימה ומשתני build.
כדי לפתוח את קובץ ה-PSD, בוחרים באפשרות קובץ > מבנה הפרויקט בסרגל התפריטים. אפשר גם לפתוח את קובץ ה-PSD על ידי הקשה על Ctrl+Shift+Alt+S
ב-Windows וב-Linux, או על Command+;
(נקודה-פסיק) ב-macOS. בהמשך מופיעים תיאורים של חלק מהקטעים החדשים והמעודכנים של ה-PSD.
משתנים
הקטע החדש של המשתנים ב-PSD מאפשר ליצור ולנהל משתני build, כמו אלה שמשמשים לשמירה על עקביות של מספרי הגרסאות של יחסי התלות בפרויקט.
- הצגה ועריכה מהירה של משתני build שכבר קיימים בתסריטי ה-build של Gradle בפרויקט.
- הוספה של משתני build חדשים ברמת הפרויקט או המודול ישירות מה-PSD.
הערה: אם קובצי ההגדרה הקיימים של ה-build מקצים ערכים באמצעות סקריפטים מורכבים של Groovy, יכול להיות שלא תוכלו לערוך את הערכים האלה דרך ה-PSD. בנוסף, אי אפשר לערוך קובצי build שנכתבו ב-Kotlin באמצעות ה-PSD.
מודולים
מגדירים מאפיינים שחלים על כל הווריאנטים של ה-build במודול קיים, או מוסיפים מודולים חדשים לפרויקט מהקטע Modules. לדוגמה, כאן אפשר להגדיר מאפייני defaultConfig
או לנהל הגדרות חתימה.
יחסי תלות
כדי לבדוק ולראות באופן חזותי כל יחסי תלות בתרשים יחסי התלות של הפרויקט, כפי שהם נפתרו על ידי Gradle במהלך סנכרון הפרויקט, פועלים לפי השלבים הבאים:
- בחלונית הימנית של קובץ ה-PSD, בוחרים באפשרות יחסי תלות.
- בחלונית Modules, בוחרים את המודול שרוצים לבדוק את יחסי התלות שהוגדרו בו.
- בצד שמאל של קובץ ה-PSD, פותחים את החלונית Resolved Dependencies (יחסי תלות שהוגדרו) שמוצגת בהמשך.
אפשר גם לחפש במהירות יחסי תלות ולהוסיף אותם לפרויקט. לשם כך, בוחרים מודול בקטע Dependencies ב-PSD, לוחצים על הלחצן (+) בקטע Declared Dependencies ובוחרים את סוג יחסי התלות שרוצים להוסיף.
בהתאם לסוג התלות שבחרתם, אמורה להופיע תיבת דו-שיח, דומה לזו שבהמשך, שתעזור לכם להוסיף את התלות למודול.
וריאציות build
בקטע הזה ב-PSD, יוצרים ומגדירים וריאציות של גרסאות build וטעמיו של המוצר לכל מודול בפרויקט. אפשר להוסיף placeholder של מניפסט, להוסיף קבצי ProGuard, להקצות מפתחות חתימה ועוד.
הצעות
ההצעות לעדכונים של יחסי התלות בפרויקט ומשתני ה-build מופיעות בקטע הצעות, כפי שמוצג בהמשך.
מנהל המשאבים החדש
מנהל המשאבים הוא חלון כלים חדש שמשמש לייבוא, ליצירה, לניהול ולשימוש במשאבים באפליקציה. אפשר לפתוח את חלון הכלים על ידי בחירה באפשרות תצוגה > חלונות כלים > מנהל משאבים בסרגל התפריטים. באמצעות מנהל המשאבים תוכלו:
- תצוגה חזותית של משאבים: אפשר להציג תצוגה מקדימה של רכיבי drawable, צבעים ותצוגות מפורטות כדי למצוא במהירות את המשאבים הנחוצים.
- ייבוא בכמות גדולה: אפשר לייבא כמה נכסי 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, תהליכי הסרת הסוכר, הצמצום, הטשטוש, האופטימיזציה וההמרה ל-dex (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
ל-false
בקובץ build.gradle
של מודול האפליקציה, הפלאגין של Android Gradle משתמש ב-R8 כדי לצמצם את הקוד של האפליקציה לסוג ה-build הזה, גם אם משביתים את R8 בקובץ gradle.properties
של הפרויקט.
עכשיו יש תמיכה בכל סוגי הארגומנטים בכלי הניווט
מעכשיו יש תמיכה בכל סוגי הארגומנטים שנתמכים על ידי רכיב הניווט גם בכלי הניווט. למידע נוסף על הסוגים הנתמכים, ראו העברת נתונים בין יעדים.
שיפורים בכלי לעריכת פריסות {:#layout-editor}
החלונית Attributes (מאפיינים) עברה אופטימיזציה ועכשיו היא דף אחד עם קטעים שאפשר להרחיב כדי לחשוף את המאפיינים שאפשר להגדיר. בחלונית מאפיינים נוספו גם העדכונים הבאים:
- בקטע החדש מאפיינים שהוגדרו מפורטים המאפיינים שצוינו בקובץ הפריסה, ומאפשרים להוסיף במהירות מאפיינים חדשים.
- בחלונית מאפיינים מופיעים עכשיו גם אינדיקטורים לצד כל מאפיין, שמופיעים בצורה מלאה כשערך המאפיין הוא הפניית משאב, ובאופן ריק במקרים אחרים.
- מאפיינים עם שגיאות או אזהרות מודגשים עכשיו. הדגשות באדום מצביעות על שגיאות (לדוגמה, כשמשתמשים בערכים לא חוקיים של פריסה), והדגשות בכתום מצביעות על אזהרות (לדוגמה, כשמשתמשים בערכים מקודדים).
פעולת כוונה חדשה לייבוא מהיר של יחסי תלות
אם תתחילו להשתמש בחלק מהכיתות של Jetpack ו-Firebase בקוד שלכם, תוצג לכם פעולת מטרה חדשה עם הצעה להוסיף לפרויקט את התלות הנדרשת בספריית Gradle, אם עדיין לא עשיתם זאת. לדוגמה, אם תתייחסו לכיתה WorkManager
בלי לייבא קודם את התלות הנדרשת android.arch.work:work-runtime
, תוכלו לעשות זאת בקלות בלחיצה אחת באמצעות פעולת מטרה, כפי שמוצג בהמשך.
במיוחד, מכיוון ש-Jetpack ארז מחדש את ספריית התמיכה בחבילות נפרדות שקל יותר לנהל ולעדכן, פעולת הכוונה הזו עוזרת לכם להוסיף במהירות רק את יחסי התלות הנדרשים לרכיבי Jetpack שבהם אתם רוצים להשתמש.