דרישות ליבה

אנדרואיד 8.0 ומעלה מחייבת גרסת ליבה מינימלית ותצורת ליבה, אשר מאומתות על ידי ה-Vendor Test Suite (VTS) ועדכוני אויר (OTA). ליבות מכשירי אנדרואיד חייבים לאפשר תמיכה .config של kernel ואפשרות לקרוא את תצורת הליבה בזמן ריצה דרך מערכת הקבצים procfs .

תמיכה ב-Cernel .config

כל ליבות המכשיר חייבות להפעיל את כל הכתובת android-base.cfg , אשר חייבת לכלול את האפשרויות הבאות של kernel-config (או שווה ערך לגרסת הליבה שלהן):

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y

גרסת ליבה

עבור אנדרואיד 9, הדרישות המינימליות של תמיכה לטווח ארוך (LTS) לגרסת ליבה הן 4.4.107, 4.9.84 ו-4.14.42.

  • כל ה-SoCs שהופקו ב-2018 חייבים להשיק עם ליבה 4.9.84 ומעלה.
  • כל שאר ה-SoCs המשיקים מכשירי אנדרואיד עם אנדרואיד 9 חייבים להשתמש בגרעין 4.4.107 ומעלה.
  • ליבות מכשיר המבוססות על 4.14 חייבים לכלול את גרסת ה-LTS 4.14.42 ומעלה.
  • ללא קשר לתאריך ההשקה, כל ה-SoCs עם השקות מכשירים ב-Android 8.0 ואילך נשארים כפופים לשינויי הליבה הנדרשים כדי להפעיל את Treble.
  • מכשירי אנדרואיד ישנים שמשדרגים לאנדרואיד 8.0 ומעלה יכולים להמשיך להשתמש בגרסת ליבת הבסיס המקורית שלהם.

לפרטים על ליבות LTS, ראה ליבות יציבות לטווח ארוך וגרעיני אנדרואיד נפוצות

תמיכה בעץ התקנים

אם הפלטפורמה אינה תומכת במפרט Advanced Configuration and Power Interface (ACPI) , יש להפעיל תמיכה ב-devicetree בקרנל ומעמיסי האתחול חייבים להעביר את תיאור החומרה בצורה של עץ device אל הליבה. עץ המכשיר חייב להיות זמין גם עבור אנדרואיד לקריאה, והוא חייב להיות מסוגל להעביר פרמטרים ספציפיים לספק ו-ODM לאנדרואיד. CONFIG_OF הוא חובה, יחד עם כל שאר אפשרויות תצורת ליבת CONFIG_OF_* הספציפיות למכשיר ולתת-מערכת.

שימוש ב-DebugFS

היישום של ממשק הספק לא יכול להסתמך על מערכת הקבצים DebugFS כדי לגשת למידע באגים. הסיבה לכך היא שב-Android 7.0–10, ניתן להפעיל DebugFS , אך בדיקת VTS עשויה להיעשות כאשר DebugFS לא מותקן.

ב-Android 11, לא ניתן לגשת DebugFS או להרכיב אותו במכשירי ייצור, ולכן יצרני המכשירים חייבים להסיר אותו. לפני Android 11, dumpstate ניגש לסטטיסטיקה של קלסר מ- DebugFS . מכיוון שמשתמשי בנייה המופעלים עם אנדרואיד 11 ומעלה אינם יכולים לגשת DebugFS , dumpstate ניגשת לסטטיסטיקות קלסר מ- binderfs . כדי להפעיל Binderfs , הפעל את תצורת הליבה CONFIG_ANDROID_BINDERFS .

באנדרואיד 11, VTS אוכפת את שתי הדרישות הבאות:

  • CONFIG_DEBUG_FS אינו מופעל בתצורת הליבה של המכשיר.
  • DebugFS אינו מופיע תחת /proc/filesystems .

DebugFS באנדרואיד 11

הטבלה הבאה מתארת ​​כיצד כל אחת משלוש הקטגוריות הללו נתמכת ב-Android 11. שים לב שהדברים הבאים חלים רק על בניית userdebug מכיוון שלא ניתן להרכיב DebugFS ב-builds של משתמש. לעולם אל תעלה DebugFS ב-builds של משתמשים עבור מכשירים המופעלים ב-Android 11.

מקרה שימוש בניית באגים של אנדרואיד 11
אתחול קבצי DebugFS חד פעמי, במהלך ההפעלה . גישה זו מתרחשת רק פעם אחת במהלך זמן האתחול. הספק init עושה זאת.
יצירת דיווח באגים : ה-dumpstate HAL קורא קבצי DebugFS , שהופכים לחלק מדוח הבאג. נעשה על ידי dumpstate HAL בתוך DumpstateBoard() כאשר הוא מופעל על ידי הכלי dumpstate.
בדיקה ואימות ספציפיים למכשיר אדב שורש וקליפה