ל-Android מגרסה 8.0 ואילך נדרש גרסת ליבה מינימלית וגרסת ליבה מינימלית
הגדרות שאומתו על ידי Vendor Test Suite (VTS)
(OTA). הליבה של מכשיר Android חייבת להפעיל את הליבה .config
תמיכה ואפשרות לקרוא את תצורת הליבה בזמן הריצה באמצעות
מערכת הקבצים procfs
.
תמיכה בסיומת .config של ליבה
כל הליבה של המכשיר חייבת להפעיל את כל התוכן android-base.cfg, שחייב לכלול את הפרטים הבאים אפשרויות kernel-config (או מקבילה שלהן בגרסת ליבה):
CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y
גרסת ליבה
ב-Android 9, התמיכה המינימלית לטווח ארוך (LTS) הדרישות לגרסת הליבה הן 4.4.107, 4.9.84 ו-4.14.42.
- כל יחידות ה-SoC שנוצרו ב-2018 חייבות להשיק עם ליבה (kernel) 4.9.84 ומעלה.
- כל שאר שירותי ה-SoC שמפעילים מכשירי Android עם Android 9 חייבים להשתמש בליבה (kernel) 4.4.107 ואילך.
- הליבות של המכשיר שמבוססות על 4.14 חייבות לכלול את ערוץ ה-LTS בגרסה 4.14.42 ואילך גרסה חדשה.
- ללא קשר לתאריך ההשקה, כל ה-SoCs עם המכשיר מושקות ב-Android 8.0 ומעלה צריכים להיות כפופים לשינויים בליבה (kernel) שנדרשים כדי להפעיל את Treble.
- מכשירי Android ישנים יותר שמשדרגים ל-Android 8.0 ואילך עשויים להמשיך אל להשתמש בגרסת הליבה המקורית הבסיסית שלהם.
פרטים נוספים על ליבות LTS זמינים במאמר לטווח ארוך ליבה יציבה Kernels נפוצות של Android
תמיכה ב-Devicetree
אם הפלטפורמה לא תומכת במפרט Advanced Configuration and Power Interface (ACPI),
תמיכה ב-devicetree בליבה (kernel) צריכה להיות מופעלת ותוכנת האתחול חייבת לעבור
תיאור החומרה בצורת עץ מכשיר לליבה (kernel). עץ המכשיר
הם צריכים להיות זמינים גם לקריאה ל-Android, והם צריכים להיות מסוגלים להעביר -
ופרמטרים ספציפיים ל-ODM ל-Android. חובה לציין CONFIG_OF
,
יחד עם כל שאר כללי CONFIG_OF_*
שספציפיים למכשיר ולמערכת משנה
אפשרויות להגדרת הליבה.
שימוש ב-DebugFS
ההטמעה של ממשק הספק לא יכולה להסתמך על DebugFS
למערכת הקבצים כדי לגשת למידע על תוצאות ניפוי הבאגים.
הסיבה לכך היא שב-Android מגרסה 7.0 עד 10, DebugFS
ניתן להיות מופעל,
אבל יכול להיות שבדיקת VTS תתבצע עם DebugFS
מנותק.
ב-Android 11, לא ניתן לגשת אל DebugFS
או לטעון אותו למכשיר
בסביבת הייצור, ולכן יצרני המכשירים צריכים להסיר אותו. לפני Android 11,
האפליקציה dumpstate
ניגשה לנתונים סטטיסטיים של binder מ-DebugFS
.
כי גרסת ה-build של משתמשים שהושקה עם Android מגרסה 11 ואילך לא יכולה לגשת
DebugFS
, dumpstate
ניגש לנתונים הסטטיסטיים של הקישורים מ-
binderfs
. כדי להפעיל את Binderfs
, צריך להפעיל את הליבה
config CONFIG_ANDROID_BINDERFS
.
ב-Android 11, VTS אוכף את שתי הדרישות הבאות:
CONFIG_DEBUG_FS
לא מופעלת בהגדרת הליבה (kernel) של המכשיר.DebugFS
לא רשום מתחת ל-/proc/filesystems
.
ניפוי באגים ב-Android 11
הטבלה הבאה מתארת איך כל אחת משלוש הקטגוריות האלה
נתמך ב-Android 11. שימו לב
המעקב רלוונטי רק לגרסאות build של ניפוי באגים, כי לא ניתן לבצע את DebugFS
טעונה בגרסאות build של משתמשים. אף פעם לא לטעון DebugFS
בגרסאות build של משתמשים למכשירים
ב-Android 11.
תרחיש לדוגמה | גרסת build של ניפוי באגים ב-Android 11 |
---|---|
אתחול חד-פעמי של קובצי DebugFS , במהלך ההפעלה.
גישה זו מתרחשת פעם אחת בלבד במהלך זמן ההפעלה.
|
הספק מבצע את הפעולה הזו. |
יצירת דוח באגים: קריאות Dumpstate HAL
DebugFS קבצים, שהופכים לחלק מדוח איתור הבאגים.
|
בוצע באמצעות תמונת מצב של HAL בתוך DumpstateBoard() בהפעלה
באמצעות כלי ה-Dumpstate.
|
בדיקה ואימות ספציפיים למכשיר | שורש ומעטפת של Adb |