‫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>

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

אפשר לבדוק, לשלוח שאילתות ולשנות את מסדי הנתונים באפליקציה הפועלת באמצעות Database Inspector החדש. כדי להתחיל, פורסים את האפליקציה במכשיר עם API ברמה 26 ומעלה, ובוחרים באפשרות View > Tool Windows > Database Inspector (תצוגה > חלונות כלים > כלי לבדיקת מסד נתונים) מסרגל התפריטים.

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

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

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

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

מידע נוסף מופיע במאמרי העזרה בנושא אמולטור Android.

שימוש במודלים של 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

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

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

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

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

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

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

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

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

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

Native Memory Profiler

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

הקלטה ב-Native Memory Profiler

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

הוראות בסיסיות לשימוש ב-CPU Profiler לתיעוד עקבות המערכת מפורטות בקטע תיעוד עקבות במאמר בדיקת פעילות המעבד באמצעות CPU Profiler.

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

בעזרת כלי הפרופיל החדשים העצמאיים, אפשר עכשיו ליצור פרופיל לאפליקציה בלי להפעיל את סביבת הפיתוח המשולבת (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 Components (MDC) (רכיבי Material Design) ועומדות בהנחיות המעודכנות לגבי עיצובים וסגנונות כברירת מחדל. העדכונים כוללים:

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

  • משאבי צבע: משאבי צבע ב-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 בקוד Native, המערכת יוצרת דוח קריסות, שהוא תמונת מצב של רצף הפונקציות המקוננות שהופעלו בתוכנית עד לרגע הקריסה. התמונות האלה יכולות לעזור לכם לזהות ולתקן בעיות במקור, אבל קודם צריך לבצע סימבוליזציה כדי לתרגם את כתובות המכונה בחזרה לשמות פונקציות שניתנים לקריאה על ידי בני אדם.

אם האפליקציה או המשחק שלכם פותחו באמצעות קוד Native, כמו C++, עכשיו אתם יכולים להעלות קבצים של קובץ בשפה אנושית לניפוי באגים ל-Play Console לכל גרסה של האפליקציה. מערכת Play Console משתמשת בקבצים האלה של קובץ בשפה אנושית לניפוי באגים כדי להנגיש דוח קריסה בשפה אנושית (symbolication) את דוחות הקריסות של האפליקציה, וכך קל יותר לנתח קריסות ושגיאות ANR. במאמר תמיכה בקריסה ברמת שפת המכונה מוסבר איך להעלות קבצים של סמלי ניפוי באגים.

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

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

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

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

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

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

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