במסמך הזה מתואר העיצוב של אובייקט הממשק של הספק. (אובייקט VINTF), שצובר מידע רלוונטי לגבי מכשיר ויוצר את המידע הזמין באמצעות ממשק API שניתן להריץ עליו שאילתה.
עיצוב אובייקט VINTF
אובייקט VINTF אוסף חלק מהמידע שנדרש לו ישירות במכשיר. היבטים אחרים, כגון מניפסטים, מתוארים באופן סטטי XML.
איור 1. מניפסטים, מטריצות תאימות ומידע שנאסף בזמן ריצה.
עיצוב האובייקט של VINTF מספק את הדברים הבאים למכשיר ול-framework רכיבים:
למכשיר | למסגרת |
---|---|
|
|
אובייקט ה-VINTF חייב להיות מהימן ולספק את אותו המידע המלא בלי קשר למועד שבו האובייקט התבקש (ראו נקודות שצריך לשים לב אליהן).
מניפסטים ומטריצות
החל מ-Android 8.0, ממשק API של זמן ריצה שולח שאילתה לגבי מה שנמצא במכשיר ושולח אותו
מידע באוויר (OTA)
שרת עדכונים וגורמים בעלי עניין אחרים (כגון CTS).
DeviceInfo
). חלק מהמידע מאוחזר בזמן הריצה, וחלק
מוגדר באופן סטטי.
- המניפסט של המכשיר מתאר את הרכיב הסטטי של שהמכשיר יכול לספק ל-framework.
- מטריצת התאימות של framework מתארת את Android framework מצפה ממכשיר נתון. המטריצה היא יישות סטטית שההרכב שלהן נקבע באופן ידני במהלך הפיתוח של הגרסה הבאה של Android.
- המניפסט של framework מתאר שירותים ברמה גבוהה יכולה לספק למכשיר.
- מטריצת התאימות של המכשירים מתארת את השירותים את קובץ האימג' של הספק נדרשת ה-framework. ההרכב שלו נקבע באופן ידני במהלך הפיתוח של המכשיר.
צריך להתאים את שני הצמדים האלה של מניפסטים ומטריצות בזמן OTA מוודאים שהמכשיר יכול לקבל עדכוני framework שתואמים יכולות. באופן כללי, מניפסט מתאר את מה שמופיע מטריצת התאימות מתארת מה נדרש.
הקטע הזה כולל את הפרטים הבאים לגבי מניפסטים ומטריצות:
- הגדרת מניפסטים את המניפסט של המכשיר, מניפסט ה-framework וסכימת קובץ המניפסט.
- תאימות 'מטריצה' מגדירה את הסכימה של מטריצת התאימות.
- פרטי מחזור החיים של FCM איך אנחנו מוציאים משימוש ומסירים HIDL HALs, ואיך מתבצעים שינויים בקובצי FCM משקפים את הסטטוס של גרסת HAL.
- תיאור של DM Development איך ספקים יכולים להגדיר גרסת יעד של FCM ולהצהיר עליה במכשיר או להטמיע גרסאות HAL חדשות ולהגדיל את גרסת היעד של FCM בעת שדרוג תמונת הספק של מכשירים ישנים.
- כללי התאמה שמגדירה את הכללים להתאמה מוצלחת בין מטריצת תאימות .