‫Android Studio 4.1 (אוגוסט 2020)

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

‫4.1.3 (מרץ 2021)

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

‫4.1.2 (ינואר 2021)

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2021/01/android-studio-412-available.html">
    Release Updates blog</a>.
</p>
<p><b>4.1.1 (November 2020)</b></p>

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2020/11/android-studio-411-available.html">
    Release Updates blog</a>.
</p>

הכלי החדש לבדיקת מסדי נתונים

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

מידע נוסף על ניפוי באגים במסד הנתונים באמצעות הכלי לבדיקת מסד נתונים

הפעלת Android Emulator ישירות ב-Android Studio

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

האמולטור מופעל בחלון כלי ב-Android Studio.

מידע נוסף זמין במאמרי העזרה בנושא Android Emulator.

שימוש במודלים של TensorFlow Lite

התכונה ML Model Binding מאפשרת לייבא ישירות קובצי מודלים של .tflite ולהשתמש בהם בפרויקטים. ‫Android Studio יוצר מחלקות קלות לשימוש, כך שתוכלו להריץ את המודל עם פחות קוד ובטיחות סוגים טובה יותר.

מודלים נתמכים

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

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

ייבוא קובץ מודל

כדי לייבא קובץ מודל נתמך:

  1. פותחים את תיבת הדו-שיח של ייבוא מודל TensorFlow Lite בתפריט File (קובץ) בנתיב הבא: File > New > Other > TensorFlow Lite Model
  2. בוחרים את קובץ המודל .tflite שהורדתם או יצרתם קודם לכן.
  3. לוחצים על סיום.

הפעולה הזו מייבאת את קובץ המודל לפרויקט וממקמת אותו בתיקייה ml/. אם התיקייה לא קיימת, Android Studio יוצר אותה בשבילכם.

ייבוא של מודל TensorFlow Lite

הצגת מטא-נתונים ושימוש במודל

כדי לראות את הפרטים של מודל שיובא ולקבל הוראות לשימוש בו באפליקציה, לוחצים פעמיים על קובץ המודל בפרויקט כדי לפתוח את דף הצפייה במודל, שבו מוצגים הפרטים הבאים:

  • דגם: תיאור כללי של הדגם
  • Tensors: תיאור של טנסורים של קלט ופלט
  • קוד לדוגמה: דוגמה לאופן ההתממשקות עם המודל באפליקציה

לדוגמה, שימוש ב-mobilenet_v1_0.25_160_quantized.tflite:

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

אם למודל אין מטא-נתונים, במסך הזה יוצג רק מידע מינימלי.

בעיות ידועות ופתרונות עקיפים

  • התמיכה במודלים של TensorFlow Lite לפתרון בעיות בתחומים אחרים מלבד סיווג תמונות והעברת סגנון מוגבלת בשלב הזה. למרות שהייבוא אמור לפעול בצורה תקינה, חלק מהקלט או הפלט של המודל מיוצגים על ידי TensorBuffers ולא על ידי סוגים ידידותיים. במודלים ללא מטא-נתונים, כל הקלט והפלט של המודל יהיו TensorBuffers.
  • לא ניתן להשתמש במודלים עם סוגי נתוני קלט ופלט ששונים מ-DataType.UINT8 או מ-DataType.FLOAT32.

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

Native Memory Profiler

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

הקלטה ב-Native Memory Profiler

מידע נוסף על הכלי Native Memory Profiler זמין במאמר בנושא בדיקת השימוש בזיכרון של האפליקציה באמצעות Memory Profiler.

בעיות ידועות ופתרונות עקיפים

הכלי Native Memory Profiler ב-Android Studio 4.1 לא פועל במכשירי Android 11. התמיכה ביצירת פרופילים של מכשירי Android 11 זמינה כרגע בגרסת ה-Preview‏ 4.2.

החל מגרסה 4.1 הראשונית, פרופיל ההפעלה של האפליקציה מושבת. האפשרות הזו תופעל בגרסה הקרובה.

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

ממשק המשתמש של System Trace: בחירה קלה יותר, כרטיסיית ניתוח חדשה ועוד נתונים על עיבוד פריימים

ממשק המשתמש של System Trace בכלי הפרופיל של Android Studio כולל את השיפורים הבאים:

  • בחירת תיבה: בקטע Threads (שרשורים), עכשיו אפשר לגרור את העכבר כדי לבחור אזור מלבני, ואז ללחוץ על הלחצן Zoom to Selection (זום לאזור הנבחר) לחצן זום לפריט שנבחר בכלי ליצירת פרופילים בפינה השמאלית העליונה (או להשתמש במקש הקיצור M) כדי להגדיל את האזור הנבחר. כשגוררים ושומטים שרשורים דומים זה לצד זה, אפשר לבחור כמה שרשורים כדי לבדוק את כולם בבת אחת. לדוגמה, יכול להיות שתרצו לבצע ניתוח בכמה שרשורים של עובדים.

  • כרטיסיית הסיכום: בכרטיסייה החדשה סיכום בחלונית ניתוח מוצגים:

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

    • נתונים סטטיסטיים של אירועי מעקב לגבי המופע שנבחר.

    • נתונים על התפלגות מצב השרשור.

    • המופעים של אירוע המעקב שנבחר שרצים הכי הרבה זמן.

    כדי לנווט למופע אחר, בוחרים שורה אחרת מהטבלה.

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

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

חדש – כלי פרופיל עצמאיים

בעזרת כלי הפרופיל החדשים העצמאיים, אפשר עכשיו ליצור פרופיל של האפליקציה בלי להפעיל את סביבת הפיתוח המשולבת (IDE) המלאה של Android Studio.

הוראות לשימוש בכלי פרופילים עצמאיים מפורטות במאמר הפעלת כלי פרופילים עצמאיים.

תמיכה בניווט ב-Dagger

פעולות בסרגל הצד של IDE למעבר אל צרכנים וספקים של Dagger

ב-Android Studio קל יותר לנווט בין קודים שקשורים ל-Dagger, כי נוספו פעולות חדשות בסרגל הצד והורחבה התמיכה בחלון Find Usages.

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

  • צומת Find Usages: כשמפעילים את Find Usages אצל ספק מסוג מסוים, חלון Find כולל עכשיו צומת Dependency consumer(s שבו מפורטים הצרכנים מהסוג הזה. לעומת זאת, אם מפעילים את הפעולה הזו על צרכן של תלות שהוזרקה על ידי Dagger, בחלון Find מוצג הספק של התלות הזו.

רכיבי Material Design: עיצובים וסגנונות מעודכנים בתבניות חדשות של פרויקטים

אנימציה: יצירת פרויקט ב-Android Studio עם מאפייני עיצוב חומריים חדשים.

תבניות Android Studio בתיבת הדו-שיח Create New Project (יצירת פרויקט חדש) משתמשות עכשיו ברכיבי Material Design‏ (MDC) ועומדות בהנחיות המעודכנות לגבי עיצובים וסגנונות כברירת מחדל. העדכונים כוללים:

  • MDC: פרויקטים תלויים ב-com.google.android.material:material ב-build.gradle. עיצובים בסיסיים של אפליקציות משתמשים באובייקטים ראשיים Theme.MaterialComponents.* ומבטלים את ההגדרה של צבעים מעודכנים של MDC ומאפייני 'on'.

  • משאבי צבע: משאבי צבע ב-colors.xml משתמשים בשמות מילוליים (לדוגמה, purple_500 במקום colorPrimary).

  • משאבי עיצוב: משאבי העיצוב נמצאים ב-themes.xml (במקום ב-styles.xml) והשמות שלהם הם Theme.<var><var>.

  • עיצוב כהה: עיצובים בסיסיים של אפליקציות משתמשים ב-DayNight parents ומחולקים בין res/values ל-res/values-night.

  • מאפייני עיצוב: משאבי צבעים מפנים למאפייני עיצוב (לדוגמה, ?attr/colorPrimary) בפריסות ובסגנונות כדי להימנע מצבעים שמוגדרים בהארד-קוד.

‫IntelliJ IDEA 2020.1

סביבת הפיתוח המשולבת (IDE) של Android Studio עודכנה עם שיפורים מ-IntelliJ IDEA עד לגרסה 2020.1, כולל חלון Commit חדש שמאפשר פעולות של בקרת גרסאות ומצב Zen חדש שאפשר להפעיל אותו על ידי בחירה באפשרות View > Appearance > Enter Distraction Free Mode (תצוגה > מראה > כניסה למצב ללא הסחות דעת).

מידע נוסף על השיפורים בגרסה 2020.1 זמין במאמר בנושא IDEA 2020.1.

שינויים בספריית ההגדרות של IDE

המיקומים של ספריות הגדרות המשתמשים השתנו למיקומים הבאים:

Windows

תחביר: %APPDATA%\Google&lt;product><version>

דוגמה: C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1

macOS

תחביר: ~/Library/Application Support/Google/<product><version>

דוגמה: ~/Library/Application Support/Google/AndroidStudio4.1

Linux

תחביר: ~/.config/Google/<product><version>

דוגמה: ~/.config/Google/AndroidStudio4.1

המיקומים החדשים של הספריות תואמים לעדכונים האחרונים ב-IntelliJ IDEA, סביבת הפיתוח המשולבת שעליה מבוסס Android Studio.

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

‫Kotlin 1.3.72

‫Android Studio 4.1 כולל את Kotlin 1.3.72, שכולל מספר תיקונים לשיפור ההדגשה, הבדיקות והשלמת הקוד של Kotlin. פרטים נוספים זמינים ביומן השינויים של Kotlin 1.3.72.

תצוגה מקדימה של תצוגה מותאמת אישית

כשיוצרים תצוגה בהתאמה אישית (לדוגמה, על ידי הרחבת המחלקה View או Button), ‫Android Studio מציג עכשיו תצוגה מקדימה של התצוגה בהתאמה אישית. משתמשים בתפריט הנפתח בסרגל הכלים כדי לעבור בין כמה תצוגות מותאמות אישית, או לוחצים על הכפתורים כדי להציג את התוכן בשורה אנכית או אופקית.

תצוגה מקדימה של תצוגות בהתאמה אישית בסביבת הפיתוח המשולבת (IDE).

הערה: אם השינויים לא מופיעים בתצוגה המקדימה, בוחרים באפשרות Build > Make Project (בנייה > יצירת פרויקט) מסרגל התפריטים.

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

כשמתרחשת קריסה או ANR בקוד מקורי, המערכת יוצרת מעקב אחר מחסנית (stack trace), שהוא תמונת מצב של רצף הפונקציות המקוננות שמופעלות בתוכנית עד לרגע הקריסה. התמונות האלה יכולות לעזור לכם לזהות ולתקן בעיות במקור, אבל קודם צריך להמיר אותן לסמלים כדי לתרגם את כתובות המכונה בחזרה לשמות פונקציות שניתן לקרוא.

אם האפליקציה או המשחק שלכם פותחו באמצעות קוד מקורי, כמו C++, עכשיו אתם יכולים להעלות קבצים של סמלי ניפוי באגים ל-Play Console לכל גרסה של האפליקציה. מערכת Play Console משתמשת בקבצים האלה של סמלי ניפוי באגים כדי להוסיף סימון ל-stack trace של האפליקציה, וכך קל יותר לנתח קריסות ושגיאות ANR. במאמר תמיכה בקריסה ברמת שפת המכונה מוסבר איך להעלות קבצים של סמלי ניפוי באגים.

החלת השינויים

כדי לעזור לכם להיות פרודוקטיביים יותר כשאתם מבצעים איטרציות באפליקציה, ביצענו את השיפורים הבאים בתכונה 'החלת שינויים' במכשירים עם Android 11 Developer Preview 3 ואילך:

מהירויות פריסה מהירות יותר

השקענו מאמצים רבים באופטימיזציה של מהירות האיטרציה שלכם, ופיתחנו שיטה לפריסה ולשמירה של שינויים במכשיר בלי להתקין את האפליקציה. אחרי פריסה ראשונית, פריסות עוקבות למכשירי Android 11 באמצעות Apply Code Changes הסמל Apply Code Changes (החלת שינויים בקוד) או Apply Changes and Restart Activity הסמל &#39;החלת השינויים והפעלה מחדש של הפעילות&#39; מהירות הרבה יותר עכשיו.

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

תמיכה בשינויים נוספים בקוד

במכשירים שמותקנת בהם גרסת Android 11 Developer Preview 3 ואילך, אפשר להוסיף שיטות ואז לפרוס את השינויים האלה באפליקציה הפועלת על ידי לחיצה על Apply Code Changes (החלת שינויים בקוד) הסמל &#39;החלת שינויים בקוד&#39; או על Apply Changes and Restart Activity (החלת שינויים והפעלה מחדש של הפעילות) הסמל &#39;החלת השינויים והפעלה מחדש של הפעילות&#39;.