AOSP कोड को किसी आधिकारिक रिलीज़ में शामिल करने से पहले, उसे अलग-अलग शाखाओं में भेजा जाता है. पहले चित्र में, रिलीज़ के लाइफ़साइकल के अलग-अलग चरण दिखाए गए हैं.
पहली इमेज. AOSP रिलीज़ का लाइफ़साइकल.
लाइफ़साइकल के चरण यहां दिए गए हैं:
अपस्ट्रीम प्रोजेक्ट का कोड, बाहरी डेवलपमेंट ब्रांच में जाता है. इसे
main
कहा जाता है.अपस्ट्रीम प्रोजेक्ट, एक ओपन सोर्स प्रोजेक्ट होता है. AOSP, इसमें मौजूद कोड को खींचता है. Google, Linux kernel और WebKit जैसे प्रोजेक्ट के अलावा, कुछ ऐसे Android प्रोजेक्ट को भी AOSP पर माइग्रेट करता है जो कुछ हद तक ऑटोनोमस होते हैं. जैसे, ART, Android SDK टूल, और Bionic. कुछ अपस्ट्रीम प्रोजेक्ट में सीधे तौर पर योगदान दिया जा सकता है. ज़्यादा जानकारी के लिए, अपस्ट्रीम प्रोजेक्ट में योगदान देना लेख पढ़ें.
बाहरी डेवलपमेंट ब्रैंच को डाउनलोड करके, अपने डिवाइस के लिए बदलाव किया जाता है. इस शाखा में, AOSP के अगले वर्शन में कोड का योगदान दिया जा सकता है.
मुख्य शाखा में शामिल करने के लिए अपलोड किए गए और मंज़ूरी पा चुके बदलाव, मुख्य शाखा का इस्तेमाल करने वाले सभी लोगों के लिए अपने-आप उपलब्ध हो जाते हैं.
मुख्य प्रोजेक्ट में किए गए बदलाव, Google की इंटरनल डेवलपमेंट शाखा में अपने-आप फ़्लो हो जाते हैं. इस शाखा को सिर्फ़ Google में ऐक्सेस किया जा सकता है. यहां Google, अगली रिलीज़ के लिए नई सुविधाएं जोड़ता है.
करीब हर तिमाही, इंटरनल डेवलपमेंट ब्रांच से एक इंटरनल रिलीज़ ब्रांच बनाई जाती है. इस शाखा में, AOSP के अगले रिलीज़ के लिए मौजूद सारा कोड होता है. Google, इस रिलीज़ की शाखा में बदलावों को चुन सकता है, ताकि गड़बड़ियों को ठीक किया जा सके और परफ़ॉर्मेंस को बेहतर बनाया जा सके .
किसी समय, इंटरनल रिलीज़ शाखा में मौजूद कोड को अपस्ट्रीम पर पुश किया जाता है, ताकि उसे बाहरी डेवलपमेंट शाखा (
main
) के साथ फिर से मर्ज किया जा सके. साथ ही, इसका इस्तेमाल सार्वजनिक AOSP होस्ट पर रिलीज़ शाखा की रीड-ओनली कॉपी बनाने के लिए किया जाता है.