‫Android Automotive 25Q4

בדף הזה מתוארות התכונות והשיפורים בגרסה Android Automotive OS ‏(AAOS) 25Q4. ‫AAOS 25Q4 היא גרסת Golden רשמית. ‫25Q4 כולל שמונה תכונות חדשות ומתקן 180 בעיות.

‫AAOS 25Q4 משתמש ברמת API‏ 36.

תכונות

בגרסת AAOS הזו יש תכונות חדשות שמתוארות כאן.

Framework

תמיכה בלחצן סיבובי ב-Jetpack פיתוח נייטיב:

  • Android 14 ואילך: מערכת AAOS מספקת תמיכה בסיסית מובנית בחוגות לממשקי משתמש של Jetpack Compose, כולל סיבוב והזזה של אמצעי הבקרה.

  • Android 12,‏ Android 12L ו-Android 13: מערכת AAOS מספקת תמיכה מוגבלת בשימוש בחוגה בממשקי משתמש של Compose. סיבוב הבקר פועל עם פתרון עקיפה בצד האפליקציה. אנחנו לא תומכים בתזכורות.

    מידע נוסף זמין בהדגמה של הצגת פעילות ב-Compose באפליקציה RotaryPlayground. קוד המקור של האפליקציה הזו זמין בענף car-apps-dev.

ביצועים ותקינות המערכת

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

חוויית המשתמש במערכת

ממשק משתמש שניתן להתאמה

‫AAOS מוסיף פתרון חלונות שמתאים במיוחד לתעשיית הרכב, כדי לתמוך ביצרני ציוד מקורי (OEM) בפיתוח חוויות מתקדמות של חלונות עם ממשק משתמש שניתן להתאמה בצורה מאובטחת, תואמת וחסכונית. המסגרת הזו מאפשרת למפתחים לעצב מבנה של חלונות באמצעות שפת הצהרה בהגדרות XML.

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

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

  • שיפורים בביצועים כשגוררים חלוניות עיצוב ומכשירי מדידה של הביצועים: מערכת AAOS מספקת שיפור בביצועים של אנימציות גרירה של חלוניות אינטראקטיביות. בנוסף, הוא מוסיף מכשור לספריית Scalable UI כדי למדוד דיסוננס במהלך תהליכים מרכזיים שעוברים המשתמשים.

    עקבות Perfetto של יצרני ציוד מקורי (OEM) מספקים דיווח נוסף של מטא-נתונים שספציפיים למה שקורה בחלונות ובספריית ממשק המשתמש שניתן להתאמה.

  • תצוגות עיצוב של חלוניות מותאמות ומגיבות לשינויים בעיצוב: עיצוב חלוניות מותאם לשינויים בעיצוב. לדוגמה, בין מצב בהיר למצב כהה או שינויים אחרים בעיצוב ברמת SysUI.

פקודות לניפוי באגים של משתמשים וכלי פיתוח:

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

    פקודת ה-Shell מפעילה אירוע במערכת. לדוגמה, כדי לסגור את חלונית רשת האפליקציות כשהיא פתוחה, מריצים את הפקודה adb shell cmd statusbar carsysui-dispatch-event close_app_grid.

  • מצב החלונית נכלל ב-dumpsys של הפעילות: dumpsys של הפעילות כולל את מצב החלונית. משתמשים בכלי ניפוי הבאגים (פקודת adb) כדי לקבל את מצבי החלונית באמצעות dumpsys (פקודת shell‏ =adb).

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

    adb shell cmd statusbar carsysui-dump-panelstates
    

רישום ביומן ומעקב נתונים ב-OEM

  • הוספת רישום ביומן לאירועים של מינוי לנתוני רכב. כדי לשפר את מעקב הנתונים, אנחנו מפעילים יומן רישום של קישוריות משתמשים ליצרני ציוד מקורי (OEM).

אפליקציות ליבה

כדי לעזור לנו לאמת את התאימות ל-CDD ול-CTS של אפליקציות לנייד שנתמכות ברכב (CaRMA), אנחנו משפרים את התאימות ואת נוחות השימוש באפליקציות של צד שלישי בסביבות רכב. כדי להדגים שיטות מומלצות לניווט חלק, אנחנו מוסיפים דוגמאות להפניה לגבי אפשרות החזרה.

  • שיפורים ב-ABA (חסימת פעילות): כדי לשפר את ניהול מחזור החיים, AAOS משפרת את ההתנהגות של ABA ב-OnStop.

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

  • שינוי קנה מידה של DPI: מערכת AAOS מבצעת אופטימיזציה של רכיבי ממשק המשתמש על סמך רזולוציית התצוגה ומרחק הצפייה.

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

  • שיפורים בתאימות: מערכת AAOS כוללת פונקציונליות ליבה של Android, כמו DocumentsUI, ומוסיפה שיפורים בתאימות של צד שלישי שפונים לאפליקציות.

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

מאפייני VHAL

  • תג enum של מאפיין @SystemApi: מערכת AAOS מאפשרת גישה של צד שלישי ל-enums שהוגדרו לאחרונה כנגישים לאפליקציות צד שלישי.

אודיו

  • ממשקי API של Fade ו-Balance: מערכת AAOS משפרת את האפליקציות של צד ראשון כדי לאחזר את ההגדרות הנוכחיות של Fade ו-Balance של המשתמש. רמות השמע האלה נשמרות לכל משתמש בכל מחזורי ההפעלה. העדכון הזה יוצר שוויון עם הגדרות אודיו אחרות שנשלטות על ידי המשתמש בממשקי ה-API של האודיו ברכב.

פרטיות

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

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

    ב-Android 25Q4, התכונה הזו תואמת לחוויית משתמש של יצרני ציוד מקורי (OEM) שמאפשרת להציב חוויית שימוש מתמשכת של Google בחלונית רקע שהוגדרה באמצעות ממשק משתמש ניתן לשינוי גודל. לדוגמה, פעילות מתמשכת במפות Google שמוגדרת כחוויה במסך הבית מופיעה באפור עד שמשתמש מאשר את תנאי השירות של Google.

תאימות

בדיקות AAOS בודקות את התאימות ל-Android ב-Cuttlefish ובציוד הפניה פנימי באמצעות חבילות הבדיקה הבאות ב-GSI: ‏ CTS,‏ CTS-V,‏ ATS,‏ ATS-V,‏ STS,‏ VTS ו-CTS ב-GSI.

לא נדרשים תיקונים בקוד של Android 16 ‏ (android16-release) או בענף הבדיקה של Android 16 ‏ (android16-m1-tests-dev), למעט הבעיות שמפורטות בהמשך.

אנחנו מתכננים לטפל בבעיות התאימות האלה בגרסת AOSP עתידית.

  • CtsAppSecurityHostTestCases: RoleSecurityTest#cannotGetSmsRoleHolderForAnotherUser

  • CtsMediaHostTestCases: AudioServiceRebootHostTest#testVolumePersists_AfterReboot

  • CtsPermissionUiTestCases: PermissionTest23#testInteractiveGrant

שגיאות בבדיקות של Android 25Q4

בקטע הזה מפורטים תרחישי בדיקה שנכשלו ב-Android 25Q4 וספציפיים ל-Cuttlefish בלבד. הבדיקות שנכשלו עוברות בחומרה הפנימית של ההפניה. אנחנו מאשרים את כל מקרי הבדיקה הלא עקביים ב-Cuttlefish ובחומרת ההפניה הפנימית.

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

מקרה בדיקה מופעים
CtsWindowManagerBackgroundActivityTestCases 6
CtsJvmtiAttachingHostTestCases 5
CtsViewTestCases 5
CtsStagedInstallHostTestCases 3
CtsUiRenderingTestCases27 2
CtsWindowManagerDeviceActivity 2
CtsAppOpsTestCases 1
CtsNetTestCasesLegacyApi22 1
CtsStatsdAtomHostTestCases 1
CtsUiRenderingTestCases 1