Android 8.0 introduit un noyau modulaire, qui divise le noyau de l'appareil en un SoC (système sur une puce), un appareil et des produits livrables spécifiques à une carte. Cette modification rendu possible pour les fabricants d'appareils d'origine (ODM) et les les fabricants d'équipements (OEM) à travailler dans des arbres isolés spécifiques et des pilotes spécifiques à la carte, ce qui leur permet de remplacer le noyau commun des configurations, ajouter de nouveaux pilotes sous la forme de modules de noyau, etc.
La prise en charge du noyau modulaire sous Android inclut les éléments suivants:
- Plate-forme compatible avec le développement de noyaux OEM/ODM et SoC indépendants.
Android 9 et versions ultérieures recommandent de compiler
en expédiant tout le code spécifique à la carte
sous forme de modules de noyau dans les périphériques. En conséquence:
<ph type="x-smartling-placeholder">
- </ph>
- Toutes les plates-formes doivent être compatibles avec devicetree ou Avancé de configuration et d'alimentation (ACPI) pour décrire toutes les appareils non visibles.
- Toutes les plates-formes basées sur des arborescences doivent ajouter des nœuds d'appareil spécifiques à la carte à l'arborescence devicetree du noyau en tant que superpositions.
- Interface binaire d'application (ABI) et interface de programmation d'application (API) dans la suite de test fournisseur (VTS). Ces les tests garantissent qu'un noyau donné peut exécuter le projet Android Open Source (AOSP).
- Version minimale du noyau par version d'Android.
- Prise en charge de la génération Interface fournisseur Android (VINTF) noyau.