Android Studio 3.3 (ינואר 2019)
Android Studio 3.3 היא גרסה מרכזית שכוללת מגוון של תכונות ושיפורים חדשים.
3.3.2 (מרץ 2019)
העדכון הקטן הזה כולל תיקוני באגים שונים ושיפורי ביצועים. כדי לראות רשימה של תיקוני באגים חשובים, אפשר לקרוא את הפוסט שקשור לכך ב בלוג של עדכוני גרסה.
3.3.1 (פברואר 2019)
העדכון הקטן הזה כולל תיקוני באגים שונים ושיפורי ביצועים.
IntelliJ IDEA 2018.2.2
סביבת הפיתוח המשולבת (IDE) של Android Studio עודכנה עם שיפורים מ-IntelliJ IDEA באמצעות גרסה 2018.2.2.
עדכונים של פלאגין של Android Gradle
מידע על החידושים בפלאגין של Android Gradle זמין בהערות על הגרסה.
כלי הניווט
Navigation Editor מאפשר לכם ליצור במהירות תמונה חזותית של הניווט באפליקציה שלכם ולבנות אותו באמצעות רכיב ארכיטקטורת הניווט.

מידע נוסף זמין במאמר Implement navigation with the Navigation Architecture Component (הטמעת ניווט באמצעות רכיב ארכיטקטורת הניווט) באתר למפתחים.
מחיקת ספריות שלא נמצאות בשימוש ב-Android Studio
כשמפעילים גרסה ראשית של Android Studio בפעם הראשונה, המערכת מחפשת ספריות שמכילות מטמון, הגדרות, אינדקסים ויומנים של גרסאות של Android Studio שלא נמצאה התקנה תואמת שלהן. לאחר מכן מוצג הדו-שיח Delete Unused Android Studio Directories (מחיקת ספריות שלא נמצאות בשימוש ב-Android Studio) עם המיקומים, הגדלים והזמנים של השינויים האחרונים בספריות האלה, ומוצגת אפשרות למחיקה שלהן.
הרשימה הבאה כוללת את הספריות ש-Android Studio שוקל למחוק:
- Linux:
~/.AndroidStudio[Preview]X.Y - ב-Mac:
~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview]X.Y - ב-Windows:
%USER%.AndroidStudio[Preview]X.Y

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

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

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

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

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

מידע נוסף זמין במאמר בנושא בדיקת תנועת הרשת באמצעות הכלי לניתוח הרשת.
הורדה אוטומטית של רכיבי SDK
כשפרויקט צריך רכיב SDK מפלטפורמות ה-SDK, NDK או CMake, Gradle מנסה עכשיו להוריד באופן אוטומטי את החבילות הנדרשות, בתנאי שאישרתם בעבר את הסכמי הרישיון הרלוונטיים באמצעות SDK Manager.
מידע נוסף זמין במאמר בנושא הורדה אוטומטית של חבילות חסרות באמצעות Gradle.
תמיכה ב-Clang-Tidy
Android Studio כולל עכשיו תמיכה בניתוח סטטי של קוד באמצעות Clang-Tidy בפרויקטים שכוללים קוד Native. כדי להפעיל תמיכה ב-Clang-Tidy, צריך לעדכן את NDK לגרסה r18 ואילך.
אחר כך תוכלו להפעיל או להפעיל מחדש את הבדיקות. כדי לעשות זאת, פותחים את תיבת הדו-שיח הגדרות או העדפות ועוברים אל עורך > בדיקות > C/C++ > כללי > Clang-Tidy. כשבוחרים את הבדיקה הזו בתיבת הדו-שיח הגדרות או העדפות, אפשר לראות גם את רשימת הבדיקות של Clang-Tidy שמופעלות ומושבתות בקטע אפשרות בחלונית הימנית ביותר. כדי להפעיל בדיקות נוספות, מוסיפים אותן לרשימה ולוחצים על החלה.
כדי להגדיר את Clang-Tidy עם אפשרויות נוספות, לוחצים על Configure Clang-Tidy Checks Options ומוסיפים אותן בתיבת הדו-שיח שנפתחת.
הסרה של אפשרויות להתאמה אישית של C++
האפשרויות הבאות הוסרו מתיבת הדו-שיח Customize C++ Support:
- תמיכה בחריגים (-fexceptions)
- תמיכה במידע על סוג זמן הריצה (-ftti)
ההתנהגויות הרלוונטיות מופעלות בכל הפרויקטים שנוצרו באמצעות Android Studio.
CMake גרסה 3.10.2
גרסה 3.10.2 של CMake נכללת עכשיו ב-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 ללא התקנה. במילים אחרות, עכשיו אפשר ליצור ולפרוס גם אפליקציה להתקנה וגם חוויית שימוש מיידי מפרויקט יחיד ב-Android Studio, ולכלול אותן בקובץ Android App Bundle אחד.
אם אתם יוצרים פרויקט חדש ב-Android Studio באמצעות תיבת הדו-שיח Create New Project (יצירת פרויקט חדש), הקפידו לסמן את התיבה לצד Configure your project > This project will support instant apps (הגדרת הפרויקט > הפרויקט הזה יתמוך באפליקציות מיידיות). Android Studio יוצר פרויקט אפליקציה חדש כרגיל, אבל כולל את המאפיינים הבאים במניפסט כדי להוסיף תמיכה באפליקציה מיידית למודול הבסיסי של האפליקציה:
<manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
<dist:module dist:instant="true" />
...
</manifest>
אחר כך אפשר ליצור מודול של תכונה דינמית בגרסה ללא התקנה: בסרגל התפריטים, בוחרים באפשרות File > New > New Module (קובץ > חדש > מודול חדש), ואז בתיבת הדו-שיח Create New Module (יצירת מודול חדש) בוחרים באפשרות Instant Dynamic Feature Module (מודול של תכונה דינמית בגרסה ללא התקנה). חשוב לזכור: יצירת המודול הזה מפעילה באופן מיידי גם את מודול הבסיס של האפליקציה.
כדי לפרוס את האפליקציה במכשיר מקומי כחוויית שימוש מיידי, עורכים את הגדרת ההפעלה ומסמנים את התיבה לצד General > Deploy as instant app (כללי > פריסה כאפליקציה ללא התקנה).
סנכרון פרויקט עם וריאנט יחיד
סנכרון הפרויקט עם הגדרות ה-build הוא שלב חשוב כדי ש-Android Studio יבין את מבנה הפרויקט. עם זאת, התהליך הזה יכול להיות ארוך בפרויקטים גדולים. אם הפרויקט שלכם משתמש בכמה וריאציות של build, עכשיו אתם יכולים לייעל את הסנכרון של הפרויקט על ידי הגבלת הסנכרון רק לווריאציה שבחרתם כרגע.
כדי להפעיל את האופטימיזציה הזו, צריך להשתמש ב-Android Studio מגרסה 3.3 ואילך עם פלאגין של Android Gradle מגרסה 3.3.0 ואילך. כשעומדים בדרישות האלה, סביבת הפיתוח המשולבת (IDE) מציגה בקשה להפעיל את האופטימיזציה הזו כשמסנכרנים את הפרויקט. בפרויקטים חדשים, האופטימיזציה מופעלת כברירת מחדל.
כדי להפעיל את האופטימיזציה הזו באופן ידני, לוחצים על File > Settings > Experimental > Gradle (Android Studio > Preferences > Experimental > Gradle ב-Mac) ומסמנים את התיבה Only sync the active variant.
הערה: נכון לעכשיו, האופטימיזציה הזו תומכת בפרויקטים שכוללים רק את שפת התכנות Java. לדוגמה, אם סביבת הפיתוח המשולבת מזהה קוד Kotlin או C++ בפרויקט, היא לא מפעילה את האופטימיזציה הזו באופן אוטומטי, ואסור להפעיל אותה באופן ידני.
מידע נוסף זמין במאמר הפעלת סנכרון של פרויקט עם וריאציה אחת.
שליחת משוב מהיר
אם בחרתם לשתף נתוני שימוש כדי לעזור לנו לשפר את Android Studio, שני הסמלים החדשים האלה יופיעו בשורת הסטטוס בחלק התחתון של חלון ה-IDE:
פשוט לוחצים על הסמל שמייצג בצורה הכי טובה את החוויה הנוכחית שלכם עם סביבת הפיתוח המשולבת. כשאתם עושים את זה, סביבת הפיתוח המשולבת שולחת נתונים סטטיסטיים על השימוש, שמאפשרים לצוות של Android Studio להבין טוב יותר את דעתכם. במקרים מסוימים, למשל כשמציינים חוויה שלילית עם סביבת הפיתוח המשולבת, תהיה לכם אפשרות לספק משוב נוסף.
אם עוד לא עשיתם את זה, אתם יכולים להפעיל את השיתוף של נתוני השימוש על ידי פתיחת תיבת הדו-שיח הגדרות (העדפות ב-Mac), ניווט אל מראה והתנהגות > הגדרות מערכת > שיתוף נתונים וסימון האפשרות שליחת נתוני שימוש אל Google.