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, בוחרים באפשרות קובץ > מבנה הפרויקט בסרגל התפריטים. אפשר גם לפתוח את קובץ ה-PSD על ידי הקשה על Ctrl+Shift+Alt+S
ב-Windows וב-Linux, או על Command+;
(נקודה ופסיק) ב-macOS. בהמשך מופיעים תיאורים של חלק מהקטעים החדשים והמעודכנים ב-PSD.
משתנים
בקטע החדש של המשתנים ב-PSD אפשר ליצור ולנהל משתני build, כמו משתנים ששומרים על עקביות של מספרי הגרסאות של התלויות בפרויקט.
- אפשר להציג ולערוך במהירות משתני build שכבר קיימים בסקריפטים של Gradle build בפרויקט.
- אפשר להוסיף משתני build חדשים ברמת הפרויקט או המודול ישירות מקובץ ה-PSD.
הערה: אם קובצי ההגדרות הקיימים שלכם מקצים ערכים באמצעות סקריפטים מורכבים של 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 בבת אחת. כדי לעשות זאת, אפשר לגרור אותם ולשחרר אותם בחלון הכלים Resource Manager או להשתמש באשף Import drawables. כדי לגשת לאשף, לוחצים על הלחצן (+) בפינה הימנית העליונה של חלון הכלי, ואז בוחרים באפשרות Import Drawables (ייבוא תמונות) בתפריט הנפתח.
-
המרת קובצי SVG לאובייקטים מסוג
VectorDrawable
: אפשר להשתמש באשף Import Drawables כדי להמיר תמונות SVG לאובייקטים מסוגVectorDrawable
. - גרירה ושחרור של נכסים: בחלון הכלים Resource Manager, אפשר לגרור ולשחרר משאבים מסוג drawables לתצוגות העיצוב וה-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
של הפרויקט.
הכלי לעריכת ניווט תומך עכשיו בכל סוגי הארגומנטים
כל סוגי הארגומנטים שרכיב הניווט תומך בהם נתמכים עכשיו בכלי לעריכת ניווט. מידע נוסף על הסוגים הנתמכים זמין במאמר העברת נתונים בין יעדים.
שיפורים ב-Layout Editor {:#layout-editor}
החלונית Attributes (מאפיינים) בכלי לעריכת פריסות עברה אופטימיזציה והיא מוצגת עכשיו בדף אחד עם קטעים שאפשר להרחיב כדי לראות את המאפיינים שאפשר להגדיר. החלונית מאפיינים כוללת גם את העדכונים הבאים:
- בקטע החדש Declared Attributes (מאפיינים מוצהרים) מפורטים המאפיינים שצוינו בקובץ הפריסה, ואפשר להוסיף מאפיינים חדשים במהירות.
- בנוסף, בחלונית מאפיינים מופיעים עכשיו גם אינדיקטורים ליד כל מאפיין. האינדיקטורים מלאים אם הערך של המאפיין הוא הפניה למשאב, וריקים בכל מקרה אחר.
- מאפיינים עם שגיאות או אזהרות מודגשים עכשיו. הדגשות באדום מציינות שגיאות (לדוגמה, כשמשתמשים בערכי פריסה לא תקינים), והדגשות בכתום מציינות אזהרות (לדוגמה, כשמשתמשים בערכים שמוגדרים בצורה קשיחה).
פעולת כוונה חדשה לייבוא מהיר של תלות
אם מתחילים להשתמש בקוד במחלקות מסוימות של Jetpack ו-Firebase, פעולת כוונה חדשה מציעה להוסיף לפרויקט את התלות הנדרשת בספריית Gradle, אם עדיין לא עשיתם זאת. לדוגמה, אם מפנים למחלקה WorkManager
בלי לייבא קודם את התלות הנדרשת android.arch.work:work-runtime
, פעולת כוונה מאפשרת לעשות זאת בקלות בלחיצה אחת, כמו שמוצג בהמשך.
בפרט, מכיוון ש-Jetpack ארז מחדש את ספריית התמיכה בחבילות נפרדות שקל יותר לנהל ולעדכן, פעולת הכוונה הזו עוזרת לכם להוסיף במהירות רק את יחסי התלות שאתם צריכים לרכיבי Jetpack שבהם אתם רוצים להשתמש.