Android Studio 3.3 (ינואר 2019)

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

3.3.2 (מרץ 2019)

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

3.3.1 (פברואר 2019)

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

IntelliJ IDEA 2018.2.2

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

עדכונים לגבי הפלאגין של Android Gradle

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

בעזרת רכיב ארכיטקטורת הניווט, אפשר ליצור ניווט באפליקציה ולראות אותו במהירות בעזרת 'כלי הניווט'.

למידע נוסף, ראו הטמעת ניווט באמצעות רכיב ארכיטקטורת הניווט.

מחיקת ספריות של Android Studio שלא בשימוש

כשמריצים גרסה ראשית של Android Studio בפעם הראשונה, הוא מחפש ספריות שמכילות מטמון, הגדרות, אינדקסים ולוגים לגרסאות של Android Studio שלא ניתן למצוא להן התקנה תואמת. בתיבת הדו-שיח Delete Unused Android Studio Directories יוצגו המיקומים, הגדלים והתאריכים של השינויים האחרונים של הספריות הלא בשימוש, ואפשרות למחוק אותן.

הספריות ש-Android Studio מעוניין למחוק מפורטות למטה:

  • Linux: ~/.AndroidStudio[Preview]X.Y
  • Mac: ‏ ~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview]X.Y
  • ב-Windows: ‏ %USER%.AndroidStudio[Preview]X.Y

שיפורים באיתור שגיאות בקוד

כשמריצים את הקוד מ-Gradle, הוא הרבה יותר מהיר. פרויקטים גדולים יותר יכולים לצפות שפעולת איתור השגיאות בקוד תפעל עד פי 4 מהר יותר.

האשף ליצירת פרויקט חדש

אשף Create New Project (יצירת פרויקט חדש) כולל עיצוב חדש ועדכונים שיעזרו לייעל את יצירת הפרויקטים החדשים ב-Android Studio.

מידע נוסף זמין במאמר יצירת פרויקט.

עדכונים של כלי הניתוח

מערכת Android Studio 3.3 כוללת עדכונים של כמה מפרופילי הפרופיל הנפרדים.

ביצועים משופרים

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

אפשרויות מעקב אחר הקצאת זיכרון ב-Profiler

כדי לשפר את ביצועי האפליקציה במהלך יצירת הפרופיל, כלי הניתוח של זיכרון לוקח עכשיו דגימות של הקצאות זיכרון מדי פעם כברירת מחדל. אם רוצים לשנות את ההתנהגות הזו, אפשר להשתמש בתפריט הנפתח Allocation Tracking (מעקב אחר הקצאות) כשבודקים במכשירים עם Android מגרסה 8.0 (רמת API 26) ומעלה.

בתפריט הנפתח Allocation Tracking אפשר לבחור מבין המצבים הבאים:

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

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

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

    המעקב משפיע גם על אובייקטים של Java וגם על הפניות ל-JNI.

בדיקה של נתוני רינדור הפריימים

ב-כלי לניתוחי מעבד אפשר עכשיו לבדוק כמה זמן לוקח לאפליקציית Java ליצור רינדור של כל פריים בשרשור הראשי של ממשק המשתמש וב-RenderThread. הנתונים האלה יכולים להיות שימושיים לחקירה של צווארי בקבוק שגורמים לתקלה בממשק המשתמש ולקצב פריימים נמוך. לדוגמה, כל פריים שנמשך יותר מ-16 אלפיות השנייה כדי לשמור על קצב פריימים חלק מוצג באדום.

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

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

קטעים בציר הזמן של האירוע

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

הצגת טקסט מעוצב של עומסי עבודה של חיבורים ב-Network Profiler

בעבר, הכלי לניתוח רשתות הציג רק טקסט גולמי מטען שימושי של חיבורים. ב-Android Studio 3.3, סוגי טקסט מסוימים מקבלים עכשיו פורמט כברירת מחדל, כולל JSON, ‏ XML ו-HTML. בכרטיסיות תגובה ובקשה, לוחצים על הקישור הצגת ניתוח כדי להציג טקסט מעוצב, ולוחצים על הקישור הצגת מקור כדי להציג טקסט גולמי.

למידע נוסף, ראו בדיקת התנועה ברשת באמצעות Network Profiler.

הורדה אוטומטית של רכיבי SDK

אם הפרויקט שלכם זקוק לרכיב SDK מפלטפורמות ה-SDK, מ-NDK או מ-CMake, Gradle מנסה עכשיו להוריד את החבילות הנדרשות באופן אוטומטי, כל עוד אישרתם בעבר את הסכמי הרישיון הרלוונטיים באמצעות SDK Manager.

מידע נוסף זמין במאמר הורדה אוטומטית של חבילות חסרות באמצעות Gradle.

תמיכה ב-Clang-Tidy

Android Studio כולל עכשיו תמיכה בניתוח קוד סטטי באמצעות Clang-Tidy לפרויקטים שכוללים קוד מקורי. כדי להפעיל תמיכה ב-Clang-Tidy, צריך לעדכן את NDK לגרסה r18 ואילך.

לאחר מכן, תוכלו להפעיל או להפעיל מחדש את הבדיקות על ידי פתיחת תיבת הדו-שיח Settings או Preferences ועוברים אל Editor > Inspections > C/C++ > General > Clang-Tidy. כשבוחרים את הבדיקה הזו בתיבת הדו-שיח Settings או Preferences, אפשר לראות גם את רשימת הבדיקות של Clang-Tidy שמופעלות ומושבתות בקטע Option בחלונית השמאלית ביותר. כדי להפעיל בדיקות נוספות, מוסיפים אותן לרשימה ולוחצים על אישור.

כדי להגדיר את Clang-Tidy עם אפשרויות נוספות, לוחצים על Configure Clang-Tidy Checks Options ומוסיפים אותן בתיבת הדו-שיח שנפתחת.

הסרת האפשרויות להתאמה אישית של C++‎

האפשרויות הבאות הוסרו מתיבת הדו-שיח Customize C++ Support:

  • תמיכה בחריגים (-fexceptions)
  • תמיכה בנתוני סוג סביבת זמן ריצה (-ftti)

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

CMake גרסה 3.10.2

גרסת CMake 3.10.2 נכללת עכשיו ב-SDK Manager. חשוב לזכור ש-Gradle עדיין משתמש בגרסה 3.6.0 כברירת מחדל.

כדי לציין גרסת CMake ש-Gradle תשתמש בה, מוסיפים את הקוד הבא לקובץ build.gradle של המודול:

    android {
        ...
        externalNativeBuild {
            cmake {
                ...
                version "3.10.2"
            }
        }
    }
    
  

למידע נוסף על הגדרת CMake ב-build.gradle, ראו הגדרה ידנית של Gradle.

תחביר חדש של '+' לציון גרסאות CMake מינימום

כשמציינים גרסה של CMake בקובץ build.gradle של המודול הראשי, אפשר עכשיו להוסיף סימן '+' כדי להתאים את ההתנהגות לפקודה cmake_minimum_required() של CMake.

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

קובצי Android App Bundle תומכים עכשיו באפליקציות ללא התקנה

עכשיו אפשר ליצור ב-Android Studio חבילות Android App Bundle עם תמיכה מלאה ב-Google Play Instant. במילים אחרות, עכשיו אפשר ליצור ולפרוס גם אפליקציות מותקנות וגם אפליקציות ללא התקנה מתוך פרויקט אחד ב-Android Studio, ולכלול אותן בקובץ Android App Bundle אחד.

אם יוצרים פרויקט חדש ב-Android Studio באמצעות תיבת הדו-שיח Create New Project, מסמנים את התיבה ליד Configure your project > This project support אפליקציות ללא התקנה. לאחר מכן, Android Studio יוצרת פרויקט אפליקציה חדש כרגיל, אבל כוללת את המאפיינים הבאים במניפסט כדי להוסיף תמיכה באפליקציות מיידיות למודול הבסיסי של האפליקציה:

    <manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
        <dist:module dist:instant="true" />
        ...
    </manifest>
    
  

לאחר מכן תוכלו ליצור מודול של תכונה שפועלת באופן מיידי. לשם כך, בסרגל התפריטים בוחרים באפשרות קובץ > חדש > מודול חדש, ואז בוחרים באפשרות Instant Dynamic Feature Module בתיבת הדו-שיח Create New Module. חשוב לזכור שיצירת המודול הזה מפעילה באופן מיידי גם את המודול הבסיסי של האפליקציה.

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

סנכרון של פרויקט עם וריאנט יחיד

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

כדי להפעיל את האופטימיזציה הזו, צריך להשתמש ב-Android Studio בגרסה 3.3 ואילך עם הפלאגין Android Gradle בגרסה 3.3.0 ואילך. אם אתם עומדים בדרישות האלה, תוצג לכם בקשה להפעיל את האופטימיזציה הזו ב-IDE כשתסינכרונירו את הפרויקט. האופטימיזציה מופעלת כברירת מחדל גם בפרויקטים חדשים.

כדי להפעיל את האופטימיזציה הזו באופן ידני, לוחצים על קובץ > הגדרות > ניסיוני > Gradle (Android Studio > העדפות > ניסיוני > Gradle ב-Mac) ובוחרים את התיבה סנכרון של הווריאנט הפעיל בלבד.

הערה: האופטימיזציה הזו תומכת כרגע בפרויקטים שכוללים רק את שפת התכנות Java. לדוגמה, אם ה-IDE מזהה בפרויקט קוד Kotlin או C++, הוא לא מפעיל את האופטימיזציה הזו באופן אוטומטי, ואסור להפעיל אותה באופן ידני.

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

שליחת משוב מהיר

אם בחרתם לשתף את נתוני השימוש כדי לעזור בשיפור Android Studio, יופיעו שני הסמלים החדשים האלה בסרגל הסטטוס שבתחתית חלון סביבת הפיתוח המשולבת:

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

אם עדיין לא עשית זאת, ניתן להפעיל שיתוף סטטיסטיקות שימוש על ידי פתיחת תיבת הדו-שיח העדפות הגדרות ב-Mac), מעבר אל מראה והתנהגות > הגדרות מערכת > שיתוף נתונים ובודקים את האפשרות שליחת נתוני שימוש אל Google.