يتطلب نظام Android 8.0 والإصدارات الأحدث الحد الأدنى من إصدار kernel وتكوين kernel، والتي يتم التحقق منها من خلال تحديثات Vendor Test Suite (VTS) والتحديثات عبر الهواء (OTA). يجب أن تقوم نواة أجهزة Android بتمكين دعم kernel .config
وخيار قراءة تكوين kernel في وقت التشغيل من خلال نظام الملفات procfs
.
دعم Kernel.config
يجب على جميع نواة الأجهزة تمكين android-base.cfg بالكامل، والذي يجب أن يتضمن خيارات تكوين kernel التالية (أو ما يعادلها من إصدار kernel):
CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y
إصدار النواة
بالنسبة لنظام التشغيل Android 9، الحد الأدنى لمتطلبات إصدار kernel للدعم طويل الأمد (LTS) هو 4.4.107 و4.9.84 و4.14.42.
- يجب أن يتم تشغيل جميع SoCs التي تم إنتاجها في عام 2018 باستخدام kernel 4.9.84 أو أعلى.
- يجب على جميع شركات SoC الأخرى التي تقوم بتشغيل أجهزة Android التي تعمل بنظام Android 9 أن تستخدم kernel 4.4.107 أو أعلى.
- يجب أن تتضمن نواة الجهاز المستندة إلى 4.14 الإصدار 4.14.42 أو إصدار LTS أعلى.
- بغض النظر عن تاريخ الإطلاق، تظل جميع شرائح SoC التي يتم تشغيل الأجهزة عليها بنظام التشغيل Android 8.0 والإصدارات الأحدث خاضعة لتغييرات kernel المطلوبة لتمكين Treble.
- يمكن لأجهزة Android الأقدم التي تقوم بالترقية إلى Android 8.0 أو أعلى الاستمرار في استخدام إصدار kernel الأساسي الأصلي الخاص بها.
للحصول على تفاصيل حول نواة LTS، راجع النوى المستقرة طويلة المدى ونواة Android الشائعة
دعم شجرة الأجهزة
إذا كان النظام الأساسي لا يدعم مواصفات التكوين المتقدم وواجهة الطاقة (ACPI) ، فيجب تمكين دعم شجرة الأجهزة في kernel ويجب على أدوات تحميل التشغيل تمرير وصف الأجهزة في شكل شجرة الأجهزة إلى kernel. يجب أن تكون شجرة الأجهزة متاحة أيضًا ليقرأها Android، ويجب أن تكون قادرة على تمرير المعلمات الخاصة بالمورد وODM إلى Android. يعد CONFIG_OF
إلزاميًا، بالإضافة إلى جميع خيارات تكوين kernel الأخرى الخاصة بالجهاز والنظام الفرعي CONFIG_OF_*
.
باستخدام DebugFS
لا يمكن أن يعتمد تطبيق واجهة البائع على نظام ملفات DebugFS
للوصول إلى معلومات التصحيح. وذلك لأنه في نظام التشغيل Android 7.0–10، يمكن تمكين DebugFS
، ولكن قد يتم إجراء اختبار VTS مع إلغاء تثبيت DebugFS
.
في Android 11، لا يمكن الوصول إلى DebugFS
أو تثبيته على أجهزة الإنتاج، لذلك يجب على الشركات المصنعة للأجهزة إزالته. قبل Android 11، كان dumpstate
يصل إلى إحصائيات المجلد من DebugFS
. نظرًا لأن إصدارات المستخدم التي يتم تشغيلها باستخدام Android 11 أو الإصدارات الأحدث لا يمكنها الوصول إلى DebugFS
، dumpstate
يصل إلى إحصائيات الموثق من binderfs
. لتمكين Binderfs
، قم بتمكين تكوين kernel CONFIG_ANDROID_BINDERFS
.
في Android 11، يفرض VTS هذين المتطلبين:
- لم يتم تمكين
CONFIG_DEBUG_FS
في تكوين kernel الخاص بالجهاز. -
DebugFS
غير مدرج ضمن/proc/filesystems
.
DebugFS في Android 11
يصف الجدول التالي كيفية دعم كل فئة من هذه الفئات الثلاث في Android 11. لاحظ أن ما يلي ينطبق فقط على إصدارات userdebug نظرًا لأنه لا يمكن تثبيت DebugFS
في إصدارات المستخدم. لا تقم مطلقًا بتثبيت DebugFS
في إصدارات المستخدم للأجهزة التي تعمل على Android 11.
حالة الاستخدام | بناء Android 11 userdebug |
---|---|
تهيئة ملفات DebugFS لمرة واحدة، أثناء بدء التشغيل . يحدث هذا الوصول مرة واحدة فقط أثناء وقت التمهيد. | يقوم Vendor init بذلك. |
إنشاء Bugreport : يقرأ HAL dumpstate ملفات DebugFS ، التي تصبح جزءًا من تقرير الأخطاء. | يتم تنفيذه بواسطة dumpstate HAL داخل DumpstateBoard() عند استدعائه بواسطة أداة dumpstate. |
الاختبار والتحقق الخاص بالجهاز | Adb الجذر والقشرة |