Android Studio 3.4 (אפריל 2019)

Android Studio 3.4 היא גרסה ראשית שכוללת מגוון תכונות חדשות ושיפורים.

3.4.2 (יולי 2019)

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

3.4.1 (מאי 2019)

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

בעיות ידועות 3.4.0

  • יצירת הפרופילים מושבתת כשפורסים את האפליקציה במכשיר מפעיל את Android Q Beta.

  • כשמשתמשים בספרייה לקישור נתונים, עם NPE, יכול להיות ש-LiveDataListener.onChanged() ייכשל. תיקון עבור הבעיה הזו תיכלל ב-Android Studio 3.4.1, וכבר זמין בגרסה האחרונה גרסת טרום-השקה (Preview) של Android Studio 3.5. (ראו בעיה מס' 122066788)

IntelliJ IDEA 2018.3.4

סביבת הפיתוח המשולבת (IDE) של Android Studio עודכנה ועכשיו היא כוללת שיפורים מ-IntelliJ רעיונות לפיתוח גרסת 2018.3.4.

עדכונים לגרסה 3.4.0 של הפלאגין ל-Android Gradle

מה חדש בפלאגין של Android Gradle גרסה 3.4.0? נתוני גרסה.

תיבת דו-שיח של מבנה הפרויקט החדש

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

כדי לפתוח את קובץ ה-PSD, בוחרים באפשרות File > Project Buildure – מהתפריט בר. אפשר לפתוח את קובץ ה-PSD גם על ידי לחיצה על Ctrl+Shift+Alt+S ב-Windows ו Linux או Command+; (נקודה-פסיק) ב-macOS. אפשר למצוא תיאורים של את החלקים החדשים והמעודכנים של חוק ה-PSD שבהמשך.

משתנים

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

  • הצגה ועריכה במהירות של משתני build שכבר קיימים בפרויקט סקריפטים לפיתוח גרסת build של Gradle.
  • הוספת משתני build חדשים ברמת הפרויקט או ברמת המודול ישירות מה-PSD.

הערה: אם קובצי התצורה הקיימים של build מקצים לכם באמצעות סקריפטים מורכבים של גרובי, ייתכן שלא תהיה לך אפשרות לערוך את הערכים האלה באמצעות ה-PSD. בנוסף, לא ניתן לערוך קובצי build שנכתבו ב-Kotlin באמצעות ה-PSD.

מודולים

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

יחסי תלות

בדקו ותראו כל תלות בתרשים התלות של לפרויקט שלך, כפי שזוהה על ידי Gradle במהלך סנכרון הפרויקט, על ידי ביצוע הפעולות הבאות שלבים:

  1. בחלונית הימנית של ה-PSD, בוחרים באפשרות Dependencies.
  2. בחלונית Modules, בוחרים את המודול שעבורו רוצים לבדוק את של יחסי התלות שנפתרו.
  3. בצד שמאל של ה-PSD, פותחים את החלונית סוגי התלות שטופלו. מוצגת למטה.

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

בהתאם לסוג התלות שבחרתם, אמורה להופיע תיבת דו-שיח, כמו בדוגמה הבאה, שעוזרת להוסיף את התלות למודול.

בניית וריאציות

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

הצעות

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

מנהל המשאבים החדש

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

  • המחשה חזותית של משאבים: אפשר לראות תצוגה מקדימה של פריטים שניתנים להזזה, צבעים ופריסות כדי: למצוא במהירות את המשאבים שאתם צריכים.
  • ייבוא בכמות גדולה: אפשר לייבא מספר נכסים שניתנים להזזה בבת אחת באמצעות לגרור ולשחרר אותם בחלון הכלי של מנהל המשאבים או על ידי באמצעות אשף ייבוא פריטים מצורפים. כדי לגשת לאשף, בוחרים בסמל (+) בפינה הימנית העליונה של חלון הכלי, ובוחרים מייבאים את פריטי הגרפיקה מהתפריט הנפתח.
  • להמיר קובצי SVG לאובייקטים של VectorDrawable: אפשר להשתמש אשף ייבוא פריטים מצורפים כדי להמיר את תמונות SVG ל-VectorDrawable אובייקטים.
  • גרירה ושחרור של נכסים: מחלון הכלי מנהל המשאבים, אפשר לגרור ולשחרר פריטים שניתנים להזזה בתצוגת העיצוב ובתצוגת ה-XML של הפריסה עריכה.
  • הצגת גרסאות חלופיות: עכשיו אפשר להציג גרסאות חלופיות של משאבים על ידי לחיצה כפולה על משאב בתוך החלון כלי. התצוגה הזו מציג את הגרסאות השונות שיצרתם ואת ההגדרות המגדירות כלול.
  • תצוגות משבצות ורשימות: אפשר לשנות את התצוגה בחלון של הכלי, ולבחור תוכלו להציג את המשאבים בסידורים שונים.

כדי לקבל מידע נוסף, אפשר לקרוא את המדריך ניהול המשאבים לאפליקציות.

בדיקת מזהי build במהלך יצירת פרופיילינג וניפוי באגים של חבילות APK

כשמציינים קובצי סמלים של ניפוי באגים ל-.so הספריות המשותפות שבתוכן ב-APK, Android Studio מאמת מזהה build של קובצי הסמלים שסופקו תואמים מזהה ה-build של ספריות .so ב-APK.

אם יוצרים את ספריות ה-Native ב-APK באמצעות מזהה build, Android Studio בודק אם מזהה ה-build בקובצי הסמלים שלכם תואם למזהה ה-build ספריות נייטיב ודוחה את קובצי הסמלים במקרה של אי התאמה. אם המיקום שלא בניתם באמצעות מזהה build, שליחת קובצי סמלים שגויים עלולה לגרום לבעיות בניפוי באגים.

R8 מופעל כברירת מחדל

R8 משלב הסרת סוכר, כיווץ, ערפול קוד (obfuscation), ביצוע אופטימיזציה והסרת אלמנטים מיותרים בשלב אחד – שיפורים משמעותיים בביצועים של ה-build. R8 הושק בפלאגין Android Gradle גרסה 3.3.0 מופעלת כברירת מחדל גם בפרויקטים של אפליקציות וגם בספריות Android באמצעות יישומי פלאגין בגרסה 3.4.0 ומעלה.

בתמונה הבאה מוצגת סקירה כללית ברמה גבוהה של תהליך הידור. לפני ההשקה של R8.

לפני R8, ProGuard היה שלב הידור (compileing) אחר מזה
            הורדת סוכרים.

עכשיו, עם R8, הסרת סוכרים, כיווץ, ערפול קוד (obfuscation), אופטימיזציה והסרה של שדות (D8) את כל השלבים לביצוע בשלב אחד, כפי שמתואר בהמשך.

עם R8, הסרת סוכרים, כיווץ, ערפול קוד (obfuscation), אופטימיזציה וניקוי (dexing)
            מתבצעות בפעימה אחת של הידור (compile).

חשוב לזכור ש-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 לשימוש.