O Android 8.0 introduziu um kernel modular, dividindo o kernel do dispositivo em um sistema no chip (SoC), dispositivo e produtos específicos da placa. Essa alteração possibilitou que fabricantes de dispositivos originais (ODMs) e fabricantes de equipamentos originais (OEMs) trabalhassem em árvores específicas de placa isoladas para recursos e drivers específicos de placa, permitindo que eles substituíssem configurações comuns de kernel, adicionem novos drivers no formato de módulos do kernel, etc.
O suporte modular do kernel no Android inclui o seguinte:
- Suporte de plataforma para desenvolvimento independente de kernel SoC e OEM/ODM. O Android 9 e superior recomenda compilar e enviar todos os códigos específicos da placa como módulos de kernel em dispositivos. Como resultado:
- Todas as plataformas devem oferecer suporte a devicetree ou Advanced Configuration and Power Interface (ACPI) para descrever todos os dispositivos não detectáveis.
- Todas as plataformas baseadas em devicetree devem adicionar nós de dispositivo específicos da placa ao devicetree do kernel como sobreposições .
- Testes de interface binária de aplicativo (ABI)/interface de programação de aplicativo (API) no Vendor Test Suite (VTS) . Esses testes garantem que um determinado kernel possa executar a estrutura do Android Open Source Project (AOSP).
- Versão mínima do kernel por versão do Android.
- Suporte para gerar objetos do kernel Android Vendor Interface (VINTF) .