AOSP-Code durchläuft verschiedene Branches, bevor er in einer offiziellen Version kombiniert wird. Abbildung 1 zeigt die verschiedenen Schritte dieses Release-Zyklus.
Abbildung 1. AOSP-Release-Lebenszyklus
Die Schritte im Lebenszyklus sind:
Der Code des Upstream-Projekts fließt in den externen Entwicklungszweig namens
main
.Ein Upstream-Projekt ist ein Open-Source-Projekt, aus dem das AOSP Code bezieht. Neben Projekten wie dem Linux-Kernel und WebKit migriert Google einige semi-autonome Android-Projekte wie ART, die Android SDK-Tools und Bionic zu AOSP. Sie können direkt zu einigen Upstream-Projekten beitragen. Weitere Informationen finden Sie unter Zu einem Upstream-Projekt beitragen.
Über den externen Entwicklungszweig laden Sie den Traffic für Ihr Gerät herunter und ändern ihn. In diesem Branch können Sie Code zur nächsten Version von AOSP beitragen.
Änderungen, die hochgeladen und für die Aufnahme in den Hauptzweig genehmigt wurden, sind automatisch für alle Nutzer des Hauptzweigs verfügbar.
Genehmigte Änderungen am Haupt-Branch werden automatisch in den internen Entwicklungs-Branch von Google übertragen. Dieser Branch ist nur innerhalb von Google zugänglich und dort fügt Google neue Funktionen für die nächste Version hinzu.
Ungefähr jedes Quartal wird ein interner Release-Zweig aus dem internen Entwicklungszweig erstellt. Dieser Branch enthält den gesamten Code für die nächste Version von AOSP. Google kann Änderungen in diesen Release-Branch einfügen, um Fehler zu beheben und die Leistung zu verbessern .
Irgendwann wird der Code im internen Release-Branch nach oben gepusht, um ihn mit dem externen Entwicklungs-Branch (
main
) zusammenzuführen. Anschließend wird eine schreibgeschützte Kopie eines Release-Branches auf dem öffentlichen AOSP-Host erstellt.