Android Studio Chipmunk | 2021.2.1 (מאי 2022)

ריכזנו כאן את התכונות החדשות ב-Android Studio Chipmunk.

תמיכה ביצירת אפליקציות באמצעות Jetpack פיתוח נייטיב

התכונה 'תצוגה מקדימה של אנימציה' תומכת ב-animatedVisibility

ב-Android Studio Chipmunk יש תמיכה ב-API של animatedVisibility בתצוגה המקדימה של אנימציה. כדי להשתמש בתצוגה המקדימה של אנימציה עם animatedVisibility, צריך להשתמש ב-Compose בגרסה 1.1.0 ואילך. מידע נוסף על תצוגה מקדימה של אנימציה זמין במאמר אנימציות.

תמיכה בפריסה של גרסאות טרום-השקה ממודולים של ספריות

תצוגות מקדימות מאפשרות לכם לראות את ממשק המשתמש ב-Android Studio בלי שתצטרכו להריץ את האפליקציה במכשיר פיזי. ב-Android Studio Chipmunk, אפשר לפרוס @Preview ספציפי למהדר או למכשיר פיזי מ-Library Modules. מידע נוסף זמין במאמר פריסה של תצוגה מקדימה.

תמיכה ביצירת פרופיל של האפליקציה

זיהוי תנודות ב-Android מגרסה 12 ואילך

במכשירים עם Android בגרסה 12 ואילך, הטראס שנלכד מוצג בטראק פריימים לא חלקים שבחלונית תצוגה ב-CPU Profiler.

כדי לזהות בעיות בממשק (jank),

  1. מפעילים את האפליקציה מהמכשיר או מהמכונה הווירטואלית לפיתוח.
  2. ב-Android Studio, בוחרים באפשרות View (תצוגה)‏ > Tool Windows (חלונות כלים)‏ > Profiler (כלי למדידת ביצועים) או לוחצים על Profile (פרופיל) בסרגל הכלים.

    אם מופיעה תיבת הדו-שיח Select Deployment Target, בוחרים את המכשיר שבו רוצים לפרוס את האפליקציה לצורך יצירת פרופיל. אם חיברתם מכשיר באמצעות USB אבל הוא לא מופיע ברשימה, עליכם לוודא שהפעלתם ניפוי באגים ב-USB.

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

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

  5. כשמוצאים מסגרת לא יציבה, לוחצים עליה. אפשר גם ללחוץ על M כדי לשנות את מרחק התצוגה ולמקם את המיקוד במסגרת שנבחרה. האירועים הרלוונטיים יודגשו בשרשור הראשי: RenderThread ו-GPU completion. צילום מסך של הכלי לניתוח ביצועים שבו מוצגים פריימים לא יציבים ושרשראות ראשיות

  6. כדי להציג את כל המסגרות או פירוט של זמן העיבוד, מסמנים או מבטלים את הסימון בתיבות הסימון All Frames ו-Lifecycle, בהתאמה. צילום מסך של הכלי לניתוח ביצועים כמו למעלה, אבל עם סימון התיבות 'כל המסגרות' ו'מחזור חיים'

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

גרסאות תיקון

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

Android Studio Chipmunk | תיקון 2 של גרסה 2021.2.1 (אוגוסט 2022)

העדכון המשני הזה כולל את העדכונים ותיקוני הבאגים הבאים:

תמיכה בפלטפורמת Android

ב-Android Studio Chipmunk Patch 2 וב-Android Gradle 7.2.2, אפשר לבצע הידור לפי ממשקי ה-API של Android 13 על ידי הגדרת compileSdk=33. גרסת ה-SDK המינימלית הנתמכת הגבוהה ביותר היא 32. minSdk = 33 לא נתמך עד לפלאגין Android Gradle 7.3.0-beta05.

בעיות שתוקנו
כלי לניפוי באגים ב-C++‎
גרסה זמינה של ספרייה מקורית מפרויקט תלוי נארזת גם עבור וריאנט build לניפוי באגים
כלים לעיצוב
הקשה על Ctrl + D או על הלחצן 'הצגת ההבדלים' לא מציגה את git diff
Dexer‏ (D8)
תיעוד של גרסת המהדר שדרושה לכל גרסת ספרייה שעברה הסרה של סוכר
Gradle
תוצאה חיובית כוזבת של Lint UnusedResources עם כינוי ייבוא
ייבוא/סנכרון
בעיה ב-build עם כמה טעמים של מוצרים בגרסה חדשה
Shrinker‏ (R8)
ArrayIndexOutOfBoundsException ב-IntSwitch
ב-R8 3.1.7-dev ואילך, מתבצעת אופטימיזציה לא נכונה של Enums, מה שמוביל ל-NoSuchFieldError
R8 גורם ל-VerifyError בספריות Scala
Gradle 7.2.0 גורם לשגיאה ב-build של APK‏ com.android.tools.r8.CompilationFailedException
NPE ב-shrinker, R8 גרסה 3.2.60
[R8 3.3.57] NoClassDefFound due to interface replaced with abstract class with higher SDK requirements
NullPointerException ב-FieldAssignmentTracker באמצעות 3.3.35

Android Studio Chipmunk | תיקון 1 של גרסה 2.1.2021 (מאי 2022)

העדכון המשני הזה כולל את תיקוני הבאגים הבאים:

בעיות שתוקנו
Dexer‏ (D8)
מכונות וירטואליות של Art או Dalvik בגרסה 8 ואילך לא תומכות בתיקון של JDK-8272564
IntelliJ
File watcher לא הצליח להתחיל לפעול ב-Ubuntu 20.04
התפריט של Touch Bar ב-MBP 15" 2018 חסר.
הפעלה
האפשרות 'מכשירים' לא מוצגת ולא ניתן להפעיל את האפליקציה, למרות שהמודול של האפליקציה זמין.
Shrinker‏ (R8)
למה ב-R8 לא מתבצעת העברה לאחור של שיטות ממשק ברירת מחדל, אבל ב-D8 כן?
CIRCULAR REFERENCE: com.android.tools.r8.internal.R10: Unexpected type in conversion to primitive: OBJECT