Release lifecycle

AOSP code moves through different branches before it is combined into an official release. Figure 1 shows the various steps of this release lifecycle:

AOSP release lifecycle.

Figure 1. AOSP release lifecycle.

Following are the steps in the lifecycle:

  1. External contributors can download and modify the latest release branch for their device, as well as propose code changes for the next version of AOSP on this branch.

    For information on the lifecycle of upstream projects, see Upstream projects lifecycle.

  2. Google reviews and, if accepted, cherrypicks proposed changes on the latest release branch into Google's internal development branch. This branch is accessible only within Google and is where Google adds new features for the next release.

  3. Periodically, an internal release branch is created from the internal development branch. Google might cherry pick changes into this release branch to address bug fixes and performance improvements .

  4. At some point, Google pushes code from the internal release branch to the latest release branch (specified in the android-latest-release manifest) to create a read-only copy of a release branch on the public AOSP host.

Upstream projects lifecycle

Upstream project code flows into the internal development branch and follow steps 3 and 4 in the preceding diagram. The upstream code is published in the next release branch. An upstream project is an open source project from which the AOSP pulls code. In addition to projects such as the Linux kernel and WebKit, Google migrates some semi-autonomous Android projects such as ART, the Android SDK tools, and Bionic to AOSP. You can contribute directly to some upstream projects. For details, see Contribute to an upstream project.