Android Studio 3.4 (אפריל 2019)
Android Studio 3.4 היא גרסה מרכזית שכוללת מגוון של תכונות ושיפורים חדשים.
3.4.2 (יולי 2019)
העדכון הקטן הזה כולל תיקוני באגים שונים ושיפורי ביצועים. כדי לראות רשימה של תיקוני באגים חשובים, אפשר לקרוא את הפוסט שקשור לכך ב בלוג של עדכוני גרסה.
3.4.1 (מאי 2019)
העדכון הקטן הזה כולל תיקוני באגים שונים ושיפורי ביצועים. כדי לראות רשימה של תיקוני באגים חשובים, אפשר לקרוא את הפוסט שקשור לכך ב בלוג של עדכוני גרסה.
3.4.0 בעיות מוכרות
הפרופיל מושבת כשפורסים את האפליקציה במכשיר עם Android Q Beta.
- כשמשתמשים בספריית Data Binding, יכול להיות שהפעולה
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 זמין בהערות על הגרסה.
תיבת דו-שיח חדשה של מבנה הפרויקט
בתיבת הדו-שיח החדשה Project Structure (מבנה הפרויקט, PSD) קל יותר לעדכן תלות ולהגדיר היבטים שונים של הפרויקט, כמו מודולים, וריאציות של בנייה, הגדרות חתימה ומשתני בנייה.
אפשר לפתוח את קובץ ה-PSD על ידי בחירה באפשרות File > Project Structure (קובץ > מבנה הפרויקט) בסרגל התפריטים. אפשר גם לפתוח את קובץ ה-PSD על ידי הקשה על Ctrl+Shift+Alt+S ב-Windows וב-Linux, או על Command+; (נקודה ופסיק) ב-macOS. בהמשך מופיעים תיאורים של חלק מהקטעים החדשים והמעודכנים ב-PSD.
משתנים
בקטע החדש של המשתנים ב-PSD אפשר ליצור ולנהל משתני build, כמו משתנים ששומרים על עקביות של מספרי הגרסאות של התלויות בפרויקט.

- אפשר להציג ולערוך במהירות משתני build שכבר קיימים בסקריפטים של Gradle build בפרויקט.
- אפשר להוסיף משתני build חדשים ברמת הפרויקט או המודול ישירות מקובץ ה-PSD.
הערה: אם קובצי תצורת ה-build הקיימים שלכם מקצים ערכים באמצעות סקריפטים מורכבים של Groovy, יכול להיות שלא תוכלו לערוך את הערכים האלה באמצעות ה-PSD. בנוסף, אי אפשר לערוך קובצי build שנכתבו ב-Kotlin באמצעות ה-PSD.
מודולים
אפשר להגדיר מאפיינים שחלים על כל הווריאציות של הבנייה במודול קיים, או להוסיף מודולים חדשים לפרויקט בקטע Modules (מודולים). לדוגמה, כאן אפשר להגדיר מאפיינים של defaultConfig או לנהל הגדרות של חתימה.
פניות קשורות
כדי לבדוק ולהציג את כל יחסי התלות בתרשים יחסי התלות של הפרויקט, כפי ש-Gradle פותר אותם במהלך סנכרון הפרויקט, פועלים לפי השלבים הבאים:
- בחלונית הימנית של ה-PSD, בוחרים באפשרות תלויות.
- בחלונית Modules, בוחרים מודול שרוצים לבדוק את התלויות שנפתרו שלו.
- בצד שמאל של ה-PSD, פותחים את החלונית Resolved Dependencies, שמוצגת בהמשך.

אפשר גם לחפש במהירות תלויות ולהוסיף אותן לפרויקט. לשם כך, בוחרים קודם מודול בקטע Dependencies של ה-PSD, לוחצים על הלחצן (+) בקטע Declared Dependencies ובוחרים את סוג התלות שרוצים להוסיף.
בהתאם לסוג התלות שתבחרו, תופיע תיבת דו-שיח, כמו זו שבהמשך, שתעזור לכם להוסיף את התלות למודול.

וריאנטים של Build
בקטע הזה של ה-PSD, יוצרים ומגדירים וריאציות של גרסאות וטעמים של מוצרים לכל מודול בפרויקט. אפשר להוסיף placeholders למניפסט, להוסיף קבצי ProGuard, להקצות מפתחות חתימה ועוד.

הצעות
בקטע הצעות מוצגים עדכונים מומלצים לתלות בפרויקט ולמשתני build, כמו שמוצג בהמשך.

מנהל המשאבים החדש
מנהל המשאבים הוא חלון של הכלי חדש לייבוא, ליצירה, לניהול ולשימוש במשאבים באפליקציה. כדי לפתוח את חלון של הכלי, בוחרים באפשרות View > Tool Windows > Resource Manager (תצוגה > חלונות כלים > מנהל המשאבים) מסרגל התפריטים. באמצעות Resource Manager אפשר:

- הדמיה של משאבים: אפשר לראות תצוגה מקדימה של רכיבי drawable, צבעים ופריסות כדי למצוא במהירות את המשאבים שאתם צריכים.
- ייבוא בכמות גדולה: אפשר לייבא כמה נכסים מסוג drawable בבת אחת. כדי לעשות את זה, אפשר לגרור אותם לחלון של הכלי מנהל המשאבים או להשתמש באשף Import drawables. כדי לגשת לאשף, לוחצים על הלחצן (+) בפינה הימנית העליונה של חלון הכלי, ואז בוחרים באפשרות Import Drawables (ייבוא רכיבים גרפיים) בתפריט הנפתח.
-
המרת קובצי SVG לאובייקטים מסוג
VectorDrawable: אפשר להשתמש באשף Import Drawables כדי להמיר תמונות SVG לאובייקטים מסוגVectorDrawable. - גרירה ושחרור של נכסים: בחלון הכלים מנהל המשאבים, אפשר לגרור ולשחרר רכיבים מסוג drawable לתצוגות העיצוב וה-XML של Layout Editor.
- הצגת גרסאות חלופיות: עכשיו אפשר להציג גרסאות חלופיות של משאבים על ידי לחיצה כפולה על משאב בחלון הכלי. בתצוגה הזו מוצגות הגרסאות השונות שיצרתם והמסננים שנכללו.
- תצוגת משבצות ותצוגת רשימה: אתם יכולים לשנות את התצוגה בחלון של הכלי כדי לראות את המשאבים בסידורים שונים.
מידע נוסף זמין במדריך בנושא ניהול משאבי אפליקציות.
בדיקת מזהי build כשמבצעים פרופיל וניפוי באגים של קובצי APK
כשמספקים קובצי סמלים לניפוי באגים עבור הספריות המשותפות .so בתוך קובץ ה-APK, Android Studio מוודא שמזהה ה-build של קובצי הסמלים שסופקו תואם למזהה ה-build של הספריות .so בתוך קובץ ה-APK.
אם יוצרים את הספריות המקומיות ב-APK עם מזהה build, Android Studio בודק אם מזהה ה-build בקובצי הסמלים תואם למזהה ה-build בספריות המקומיות, ואם יש אי התאמה, הוא דוחה את קובצי הסמלים. אם לא השתמשתם במזהה build, יכול להיות שבעיות בניפוי הבאגים ינבעו מקובצי סמלים שגויים.
הכלי R8 מופעל כברירת מחדל
R8 משלב את הפעולות desugaring, shrinking, obfuscating, optimizing ו-dexing בשלב אחד – וכתוצאה מכך יש שיפורים משמעותיים בביצועי הבנייה. הכלי R8 הוצג ב-פלאגין של Android Gradle 3.3.0 ועכשיו הוא מופעל כברירת מחדל גם בפרויקטים של אפליקציות וגם בפרויקטים של ספריות Android באמצעות פלאגין 3.4.0 ואילך.
בתמונה הבאה מוצגת סקירה כללית של תהליך ההידור לפני שהוצג R8.

עכשיו, עם R8, כל הפעולות האלה – desugaring, shrinking, obfuscating, optimizing ו-dexing (D8) – מתבצעות בשלב אחד, כפי שמוצג בהמשך.

חשוב לזכור ש-R8 מיועד לעבוד עם כללי ProGuard הקיימים, ולכן סביר להניח שלא תצטרכו לבצע פעולות כלשהן כדי ליהנות מהיתרונות של R8. עם זאת, מכיוון שמדובר בטכנולוגיה שונה מ-ProGuard, שנועדה במיוחד לפרויקטים של Android, יכול להיות שהכיווץ והאופטימיזציה יגרמו להסרת קוד ש-ProGuard לא היה מסיר. לכן, במצב הלא סביר הזה, יכול להיות שתצטרכו להוסיף כללים נוספים כדי שהקוד הזה יישאר בפלט של הבנייה.
אם נתקלתם בבעיות בשימוש ב-R8, כדאי לעיין בתשובות לשאלות הנפוצות בנושא תאימות ל-R8 כדי לבדוק אם יש פתרון לבעיה. אם הפתרון לא מתועד, אפשר לדווח על באג.
כדי להשבית את R8, מוסיפים אחת מהשורות הבאות לקובץ gradle.properties של הפרויקט:
# Disables R8 for Android Library modules only.
android.enableR8.libraries = false
# Disables R8 for all modules.
android.enableR8 = false
הערה: אם מגדירים את useProguard ל-false בקובץ build.gradle של מודול האפליקציה עבור סוג מסוים של build, הפלאגין של Android Gradle משתמש ב-R8 כדי לכווץ את הקוד של האפליקציה עבור סוג ה-build הזה, גם אם משביתים את R8 בקובץ gradle.properties של הפרויקט.
הכלי לעריכת ניווט תומך עכשיו בכל סוגי הארגומנטים
עכשיו יש תמיכה ב-Navigation Editor בכל סוגי הארגומנטים שנתמכים ברכיב Navigation. מידע נוסף על סוגים נתמכים זמין במאמר העברת נתונים בין יעדים.
שיפורים ב-Layout Editor {:#layout-editor}
החלונית Attributes ב-Layout Editor עברה אופטימיזציה והיא מוצגת עכשיו בדף אחד עם קטעים שאפשר להרחיב כדי לראות את המאפיינים שניתנים להגדרה. החלונית מאפיינים כוללת גם את העדכונים הבאים:
- בקטע החדש Declared Attributes מפורטים המאפיינים שצוינו בקובץ הפריסה, ואפשר להוסיף מאפיינים חדשים במהירות.
- בנוסף, בחלונית מאפיינים מופיעים עכשיו גם אינדיקטורים ליד כל מאפיין. האינדיקטורים מלאים אם הערך של המאפיין הוא הפניה למשאב, וריקים בכל מקרה אחר.
- מאפיינים שמכילים שגיאות או אזהרות מודגשים עכשיו. הדגשות באדום מציינות שגיאות (לדוגמה, כשמשתמשים בערכי פריסה לא חוקיים), והדגשות בכתום מציינות אזהרות (לדוגמה, כשמשתמשים בערכים שמוגדרים בהארדקוד).
פעולת כוונה חדשה לייבוא מהיר של תלויות
אם מתחילים להשתמש בכיתות מסוימות של Jetpack ו-Firebase בקוד, פעולת כוונה חדשה מציעה להוסיף את התלות הנדרשת בספריית Gradle לפרויקט, אם עדיין לא עשיתם זאת. לדוגמה, אם מפנים לכיתה WorkManager בלי לייבא קודם את התלות הנדרשת android.arch.work:work-runtime, פעולת כוונה מאפשרת לעשות זאת בקלות בלחיצה אחת, כמו שמוצג בהמשך.

בפרט, מכיוון ש-Jetpack ארז מחדש את ספריית התמיכה לחבילות נפרדות שקל יותר לנהל ולעדכן, פעולת הכוונה הזו עוזרת לכם להוסיף במהירות רק את יחסי התלות שאתם צריכים לרכיבי Jetpack שבהם אתם רוצים להשתמש.