Android 8.0 و بالاتر، حداقل نسخه هسته و پیکربندی هسته را اجباری میکند که توسط مجموعه تست فروشنده (VTS) و بهروزرسانیهای خارج از هوا (OTA) تأیید میشوند. هستههای دستگاه Android باید پشتیبانی از .config
هسته و گزینه خواندن پیکربندی هسته را در زمان اجرا از طریق سیستم فایل procfs
فعال کنند.
پشتیبانی از هسته پیکربندی
همه هستههای دستگاه باید کل android-base.cfg را فعال کنند، که باید گزینههای پیکربندی هسته (یا معادل نسخه هسته آنها) را شامل شود:
CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y
نسخه کرنل
برای اندروید 9، حداقل مورد نیاز نسخه هسته پشتیبانی طولانی مدت (LTS) 4.4.107، 4.9.84 و 4.14.42 است.
- همه SoC های تولید شده در سال 2018 باید با هسته 4.9.84 یا بالاتر راه اندازی شوند.
- همه SoC های دیگری که دستگاه های اندرویدی دارای Android 9 را راه اندازی می کنند باید از هسته 4.4.107 یا بالاتر استفاده کنند.
- هسته های دستگاه بر اساس 4.14 باید شامل نسخه 4.14.42 یا بالاتر LTS باشد.
- صرفنظر از تاریخ راهاندازی، همه SoCهای دارای راهاندازی دستگاه در اندروید 8.0 و بالاتر مشمول تغییرات هسته مورد نیاز برای فعال کردن Treble هستند.
- دستگاههای Android قدیمیتر که به Android 8.0 یا بالاتر ارتقا مییابند، میتوانند همچنان از نسخه اصلی هسته اصلی خود استفاده کنند.
برای جزئیات بیشتر در مورد هسته های LTS، به هسته های پایدار طولانی مدت و هسته های مشترک اندروید مراجعه کنید.
پشتیبانی Devicetree
اگر پلتفرم از مشخصات تنظیمات پیشرفته و رابط نیرو (ACPI) پشتیبانی نمیکند، پشتیبانی درخت دستگاه در هسته باید فعال شود و بوتلودرها باید توضیحات سختافزار را به شکل درخت دستگاه به هسته ارسال کنند. درخت دستگاه همچنین باید برای خواندن اندروید در دسترس باشد و باید بتواند پارامترهای خاص فروشنده و ODM را به اندروید منتقل کند. CONFIG_OF
همراه با سایر گزینه های پیکربندی هسته CONFIG_OF_*
خاص دستگاه و زیرسیستم اجباری است.
از DebugFS استفاده کنید
پیاده سازی رابط فروشنده نمی تواند به سیستم فایل DebugFS
برای دسترسی به اطلاعات اشکال زدایی تکیه کند. دلیلش این است که در اندروید 7.0 تا 10، DebugFS
می توان فعال کرد، اما آزمایش VTS ممکن است با DebugFS
خارج شده انجام شود.
در اندروید 11، DebugFS
قابل دسترسی نیست یا روی دستگاه های تولیدی نصب می شود، بنابراین سازندگان دستگاه باید آن را حذف کنند. قبل از Android 11، dumpstate
به آمار binder از DebugFS
دسترسی داشت. از آنجایی که بیلدهای کاربری که با Android 11 یا بالاتر راه اندازی می شوند نمی توانند به DebugFS
دسترسی داشته باشند، dumpstate
به آمار binder از binderfs
دسترسی پیدا می کند. برای فعال کردن Binderfs
، پیکربندی هسته CONFIG_ANDROID_BINDERFS
را فعال کنید.
در اندروید 11، VTS این دو الزام را اعمال می کند:
-
CONFIG_DEBUG_FS
در پیکربندی هسته دستگاه فعال نیست. -
DebugFS
در/proc/filesystems
فهرست نشده است.
DebugFS در اندروید 11
جدول زیر نحوه پشتیبانی از هر یک از این سه دسته را در اندروید 11 توضیح میدهد. توجه داشته باشید که موارد زیر فقط برای ساختهای userdebug اعمال میشود، زیرا DebugFS
نمیتواند در ساختهای کاربر نصب شود. هرگز DebugFS
در ساختهای کاربر برای دستگاههایی که در Android 11 راهاندازی میشوند، نصب نکنید .
مورد استفاده | ساخت اشکال زدایی کاربر اندروید 11 |
---|---|
یکبار راهاندازی فایلهای DebugFS ، در حین راهاندازی . این دسترسی تنها یک بار در زمان بوت اتفاق می افتد . | فروشنده init این کار را انجام می دهد. |
ایجاد گزارش اشکال : HAL dumpstate فایلهای DebugFS را میخواند، که بخشی از گزارش اشکال میشوند. | توسط dumpstate HAL در DumpstateBoard() هنگامی که توسط ابزار dumpstate فراخوانی می شود انجام می شود. |
تست و اعتبارسنجی دستگاه خاص | ریشه و پوسته Adb |