באנדרואיד 8.0 ומעלה, השכבות ברמה נמוכה יותר נכתבות מחדש כדי לאמץ ארכיטקטורה חדשה ומודולרית יותר. מכשירים המריצים אנדרואיד 8.0 ומעלה חייבים לתמוך ב-HALs שנכתבו ב-HIDL, עם כמה חריגים המפורטים להלן. HALs אלה יכולים להיות כרוכים או לעבור. באנדרואיד 11, HALs שנכתבו ב-AIDL נתמכים גם הם. כל AIDL HALs משולבים.
HALs מכורכים . HALs המתבטאים בשפת הגדרת ממשק HAL (HIDL) או שפת הגדרת ממשק אנדרואיד (AIDL). HALs אלה מחליפים גם HALs קונבנציונליים וגם מדור קודם בשימוש בגרסאות קודמות של אנדרואיד. ב-Binderized HAL, מסגרת האנדרואיד ו-HALs מתקשרים זה עם זה באמצעות קריאות תקשורת בין תהליכים של קשרים (IPC). כל המכשירים המופעלים עם אנדרואיד 8.0 ואילך חייבים לתמוך ב-HALs משולבים בלבד.
HALs מעבר . HALs קונבנציונלי עטוף HIDL או Legacy HALs אלה עוטפים HALs קיימים ויכולים לשרת את ה-HAL במצבי כריכה ואופנים באותו תהליך (מעבר). מכשירים שמשדרגים לאנדרואיד 8.0 יכולים להשתמש ב-HAL מעבר.
דרישות מצב HAL
התקן | עובר דרך | מקושר |
---|---|---|
הפעלה עם אנדרואיד 8.0 | HALs המפורטים ב- Passthrough HALs חייבים להיות מעבר. | כל שאר ה-HALs משולבים (כולל HALs שהם הרחבות של ספקים). |
שדרג לאנדרואיד 8.0 | HALs המפורטים ב- Passthrough HALs חייבים להיות מעבר. | HALs הרשומים ב- HALs משולבים חייבים להיות מכורכים. |
כל שאר ה-HALs שסופקו על ידי תמונת הספק יכולים להיות במצב מעבר או ב-binderized. במכשיר תואם טרבל לחלוטין, כל אלה חייבים להיות כרוכים. |
HALs קשורים
אנדרואיד דורשת שה-HALS הבא יתחבר בכל מכשירי האנדרואיד, ללא קשר אם הם מכשירי השקה או מכשירי שדרוג:
-
android.hardware.biometrics.fingerprint@2.1
. מחליףfingerprintd
שכבר לא נמצאת באנדרואיד 8.0. -
android.hardware.configstore@1.0
. חדש באנדרואיד 8.0. -
android.hardware.dumpstate@1.0
. את הממשק המקורי שסופק על ידי HAL זה לא ניתן היה להבחין ושונה. בשל כך, יש להטמיע מחדשdumpstate_board
במכשיר נתון (זהו HAL אופציונלי). -
android.hardware.graphics.allocator@2.0
. נדרש להיות מקשר ב-Android 8.0 כך שמתארי קבצים לא חייבים להיות משותפים בין תהליכים מהימנים ותהליכים לא מהימנים. -
android.hardware.radio@1.0
. מחליף את הממשק שמספקrild
שחי בתהליך משלו. -
android.hardware.usb@1.0
. חדש באנדרואיד 8.0. -
android.hardware.wifi@1.0
. חדש באנדרואיד 8.0, מחליף את ספריית ה-Wi-Fi HAL הוותיקה שנטענה ל-system_server
-
android.hardware.wifi.supplicant@1.0
. ממשק HIDL מעל תהליךwpa_supplicant
הקיים.
HALs מעבר
אנדרואיד דורשת שמכשירי ה-HAL הבאים יהיו במצב מעבר בכל מכשירי האנדרואיד, ללא קשר אם הם מכשירי השקה או מכשירי שדרוג:
-
android.hardware.graphics.mapper@1.0
. ממפה את הזיכרון לתהליך שבו הוא חי. -
android.hardware.renderscript@1.0
. מעביר פריטים באותו תהליך (שווה ערך ל-openGL
).
כל ה-HALs שאינם רשומים למעלה חייבים להיות משולבים עבור התקני השקה.
HALs באותו תהליך
HALs עם אותו תהליך (SP-HAL) נפתחים תמיד באותו תהליך שבו הם משמשים. הם כוללים את כל ה-HALs שלא באים לידי ביטוי ב-HIDL, כמו גם את כל ה-HALs שאינם משולבים. החברות בסט SP-HAL נשלטת רק על ידי Google, ללא חריגים.
SP-HALs כוללים את הדברים הבאים:
-
openGL
-
Vulkan
-
android.hidl.memory@1.0
(מסופק על ידי מערכת אנדרואיד, תמיד עובר) -
android.hardware.graphics.mapper@1.0
android.hardware.renderscript@1.0