В Android 8.0 представлено модульное ядро, разделяющее ядро устройства на компоненты системы на кристалле (SoC), устройства и платы. Это изменение позволило производителям оригинальных устройств (ODM) и производителям оригинального оборудования (OEM) работать в изолированных деревьях для конкретных плат для функций и драйверов, специфичных для плат, что позволило им переопределить общие конфигурации ядра, добавить новые драйверы в форме модулей ядра и т. д.
Поддержка модульного ядра в Android включает следующее:
- Поддержка платформы для независимой разработки ядра SoC и OEM/ODM. В Android 9 и более поздних версиях рекомендуется создавать и поставлять весь код, относящийся к плате, в виде модулей ядра на устройствах. Как результат:
- Все платформы должны поддерживать либо дерево устройств, либо расширенный интерфейс конфигурации и питания (ACPI) для описания всех необнаруживаемых устройств.
- Все платформы на основе дерева устройств должны добавлять узлы устройств для конкретных плат в дерево устройств ядра в качестве оверлеев .
- Тесты двоичного интерфейса приложения (ABI)/интерфейса прикладного программирования (API) в Vendor Test Suite (VTS) . Эти тесты гарантируют, что данное ядро может запускать платформу Android Open Source Project (AOSP).
- Минимальная версия ядра для выпуска Android.
- Поддержка создания объектов ядра Android Vendor Interface (VINTF) .