Le code AOSP passe par différentes branches avant d'être combiné dans une version officielle. La figure 1 illustre les différentes étapes de ce cycle de vie.
Figure 1 : Cycle de vie des versions AOSP.
Voici les étapes du cycle de vie:
Le code du projet en amont circule dans la branche de développement externe, appelée
main
.Un projet en amont est un projet Open Source à partir duquel l'AOSP extrait du code. En plus de projets tels que le kernel Linux et WebKit, Google migre certains projets Android semi-autonomes tels qu'ART, les outils du SDK Android et Bionic vers AOSP. Vous pouvez contribuer directement à certains projets en amont. Pour en savoir plus, consultez la section Contribuer à un projet en amont.
La branche de développement externe est celle que vous téléchargez et modifiez pour votre appareil. C'est dans cette branche que vous pouvez contribuer au code de la prochaine version d'AOSP.
Les modifications importées et approuvées pour être incluses dans la branche principale sont automatiquement disponibles pour tous les utilisateurs de la branche principale.
Les modifications approuvées apportées à la branche principale sont automatiquement transférées vers la branche de développement interne de Google. Cette branche n'est accessible qu'au sein de Google. C'est là que Google ajoute de nouvelles fonctionnalités pour la prochaine version.
Environ tous les trimestres, une branche de publication interne est créée à partir de la branche de développement interne. Cette branche représente l'intégralité du code de la prochaine version d'AOSP. Google peut sélectionner des modifications dans cette branche de version pour corriger des bugs et améliorer les performances .
À un moment donné, le code de la branche de version interne est poussé en amont pour fusionner à nouveau avec la branche de développement externe (
main
) et est utilisé pour créer une copie en lecture seule d'une branche de version sur l'hôte AOSP public.