Kod AOSP przechodzi przez różne gałęzie, zanim zostanie połączony w oficjalną wersję. Rysunek 1 przedstawia różne etapy tego cyklu życia wersji.
Rysunek 1. Cykl życia wersji AOSP.
Oto etapy cyklu życia:
Kod projektu nadrzędnego trafia do zewnętrznej gałęzi programowania o nazwie
main
.Projekt nadrzędny to projekt open source, z którego AOSP pobiera kod. Oprócz projektów, takich jak jądro Linuksa i WebKit, Google przenosi do AOSP niektóre półautonomiczne projekty Androida, takie jak ART, narzędzia Android SDK i Bionic. Możesz wnosić swój wkład bezpośrednio w niektóre nadrzędne projekty. Więcej informacji znajdziesz w artykule Współpraca nad zewnętrznym projektem.
Zewnętrzna gałąź rozwoju to ta, którą pobierasz i modyfikujesz na urządzeniu. W tej gałę możesz dodawać kod do następnej wersji AOSP.
Zmiany, które zostały przesłane i zatwierdzone do uwzględnienia w głównej gałęzi, są automatycznie dostępne dla wszystkich użytkowników korzystających z głównej gałęzi.
Zatwierdzone zmiany w głównym repozytorium są automatycznie przekazywane do wewnętrznego gałęzi rozwojowej Google. Ta gałąź jest dostępna tylko w Google i to właśnie tam Google dodaje nowe funkcje do następnej wersji.
Mniej więcej co kwartał tworzona jest wewnętrzna gałąź wersji z wewnętrznej gałęzi programowania. Ta gałąź zawiera cały kod przeznaczony do następnego wydania w AOSP. Google może wybrać zmiany do tej gałęzi wersji, aby wprowadzić poprawki błędów i ulepszenia działania .
W pewnym momencie kod z wewnętrznego gałęzi wersji jest przesyłany w górę, aby scalić go z zewnętrzną gałęzią rozwoju (
main
), i używany do tworzenia kopii tylko do odczytu gałęzi wersji na publicznym hoście AOSP.