El código del AOSP pasa por diferentes ramas antes de combinarse en una versión oficial. En la Figura 1, se muestran los diversos pasos de este ciclo de vida de lanzamiento.
Figura 1: Ciclo de vida de lanzamientos de AOSP.
Los siguientes son los pasos del ciclo de vida:
El código del proyecto upstream fluye a la rama de desarrollo externa, llamada
main
.Un proyecto upstream es un proyecto de código abierto a partir del cual el AOSP extrae código. Además de proyectos como el kernel de Linux y WebKit, Google migra algunos proyectos semiautónomos de Android como ART, las herramientas del SDK de Android y Bionic a AOSP. Puedes contribuir directamente en algunos proyectos upstream. Para obtener más detalles, consulta Cómo contribuir a un proyecto de upstream.
La rama de desarrollo externa es la que descargas y modificas para tu dispositivo. En esta rama, puedes contribuir con código a la próxima versión de AOSP.
Los cambios que se suben y se aprueban para su inclusión en la rama principal están disponibles automáticamente para todos los usuarios de la rama principal.
Los cambios aprobados en la rama principal se transfieren automáticamente a la rama de desarrollo interno de Google. Solo se puede acceder a esta rama desde Google, y es allí donde Google agrega funciones nuevas para la próxima versión.
Aproximadamente cada trimestre, se crea una rama de lanzamiento interna a partir de la rama de desarrollo interna. Esta rama representa todo el código de la próxima versión para AOSP. Google puede seleccionar los cambios en esta rama de la versión para abordar las correcciones de errores y las mejoras de rendimiento .
En algún momento, el código de la rama de lanzamiento interna se envía a la fuente para combinarse con la rama de desarrollo externa (
main
) y se usa para crear una copia de solo lectura de una rama de lanzamiento en el host público de AOSP.