בדף הזה מתוארים התכונות והשיפורים בגרסת Android Automotive OS (AAOS) 25Q4. AAOS 25Q4 היא גרסת Golden רשמית. גרסה 25Q4 כוללת שמונה תכונות חדשות ומתקנת 180 בעיות.
AAOS 25Q4 משתמש ברמת API 36.
תכונות
בגרסה הזו של AAOS יש תכונות חדשות שמתוארות כאן.
Framework
תמיכה בחוגה ב-Jetpack Compose:
Android 14 ואילך: מערכת AAOS מספקת תמיכה בסיסית מובנית בחוגות לממשקי משתמש של Jetpack Compose, כולל סיבוב של אמצעי הבקרה והזזה קלה.
Android 12, Android 12L ו-Android 13: מערכת AAOS מספקת תמיכה מוגבלת בשימוש בחוגה בממשקי משתמש של Compose. סיבוב הבקר פועל עם פתרון עקיף בצד האפליקציה. אנחנו לא תומכים בתזכורות.
מידע נוסף זמין בהדגמה של צפייה בפעילות בכתיבת הודעות באפליקציית [
RotaryPlayground][1]. קוד המקור של האפליקציה הזו זמין בענףcar-apps-dev.
ביצועים ותקינות המערכת
- הפסקת הפעלת אפליקציות של משתמשים קודמים: כדי לצמצם את זמן האחזור של מעבר המשתמשים ואת טביעת הרגל של הזיכרון, המערכת מפסיקה את הפעלת האפליקציות של המשתמש הקודם בשלב מוקדם יותר בתהליך של מעבר המשתמשים.
חוויית המשתמש במערכת
ממשק משתמש שניתן להתאמה
AAOS מוסיף פתרון חלונות שמתאים במיוחד לתעשיית הרכב, כדי לתמוך ביצרני ציוד מקורי (OEM) בפיתוח [ממשקי משתמש מתקדמים שניתנים להתאמה אישית][2] בצורה מאובטחת, תואמת וחסכונית. המסגרת הזו מאפשרת למפתחים לעצב מבנה של חלונות באמצעות שפת הצהרה בהגדרות XML.
התמקדות במשימה בממשק משתמש ניתן לשינוי: נוסף אוסף של כללים לקביעת המשימה שמוצגת במרכז בסביבה מרובת חלונות (למשל, פתיחה וסגירה של חלוניות). מאפיין חדש,
onTransition, בתגFocus, מאפשר שליטה מפורטת יותר.מנגנון הפעלה מחדש אוטומטי בממשק משתמש שניתן להתאמה: חלוניות בממשק משתמש שניתן להתאמה מטפלות עכשיו בקריסות של אפליקציות בצורה חלקה על ידי הפעלה מחדש של האפליקציות הפגומות. הוספנו מנגנון להפעלה אוטומטית מחדש של משימות כדי לטפל בסיום לא צפוי של משימות בחלוניות של ממשק המשתמש. כדי להגדיר מדיניות הפעלה מחדש ואת המספר המקסימלי של ניסיונות חוזרים, צריך להשתמש בתג XML חדש
<Restart>.שיפורים בביצועים כשגוררים חלוניות עיצוב ומכשירי מדידה של הביצועים: מערכת AAOS מספקת שיפור בביצועים של אנימציות גרירה של חלוניות אינטראקטיביות. בנוסף, הוא מוסיף מכשור לספריית Scalable UI כדי למדוד דיסוננס במהלך תהליכים מרכזיים שעוברים המשתמשים.
עקבות של OEM Perfetto מספקים דיווח נוסף של מטא-נתונים שספציפיים למה שקורה בחלונות ובספריית ממשק המשתמש שניתן להתאמה.
תצוגות עיצוב החלונית מותאמות לשינויים בעיצוב ומגיבות להם: עיצוב החלונית מותאם לשינויים בעיצוב. לדוגמה, בין מצב בהיר למצב כהה או שינויים אחרים בעיצוב ברמת 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
- תג
@SystemApiשל ספירת מאפיינים: מערכת AAOS מאפשרת לצד שלישי לגשת לספירות שסומנו לאחרונה כנגישות לאפליקציות צד שלישי.
אודיו
- ממשקי 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#cannotGetSmsRoleHolderForAnotherUserCtsMediaHostTestCases:AudioServiceRebootHostTest#testVolumePersists_AfterRebootCtsPermissionUiTestCases: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 |
[1]: https://cs.android.com/android/platform/superproject/+/ub-automotive-master-20250910:packages/apps/Car/tests/RotaryPlayground/src/com/android/car/rotaryplayground/ViewComposeActivity.kt [2]: /docs/automotive/scalableui/implement