Android 8.0 ha introdotto un kernel modulare, che suddivide il kernel del dispositivo in un prodotto specifico per system-on-chip (SoC), dispositivo e scheda. Questa modifica reso possibile per produttori di dispositivi originali (ODM) e produttori di apparecchiature (OEM) che lavorano in alberi isolati, specifici per il consiglio di amministrazione funzionalità e driver specifici per scheda, permettendo loro di eseguire l'override dei kernel comuni configurazioni, aggiungere nuovi driver sotto forma di moduli kernel e così via.
Il supporto modulare dei kernel in Android include quanto segue:
- Supporto della piattaforma per lo sviluppo di kernel SoC indipendenti e OEM/ODM.
Android 9 e versioni successive consiglia di creare e
spedire tutto il codice specifico della scheda sotto forma di moduli kernel nei dispositivi. Ne consegue che:
- Tutte le piattaforme dovrebbero supportare devicetree o Avanzato Configurazione e interfaccia di alimentazione (ACPI) per descrivere tutto dispositivi non rilevabili.
- Tutte le piattaforme basate su devicetree devono aggiungere nodi di dispositivi specifici per la scheda al devicetree del kernel come overlay.
- Application Binary Interface (ABI) e Application Programming Interface (API) nella suite di test del fornitore (VTS). Questi test assicura che un determinato kernel possa eseguire l'Android Open Source Project (AOSP).
- Versione minima del kernel per release di Android.
- Supporto per la generazione Interfaccia del fornitore Android (VINTF) oggetti kernel.