Starting March 27, 2025, we recommend using android-latest-release
instead of aosp-main
to build and contribute to AOSP. For more information, see Changes to AOSP.
Release lifecycle
Stay organized with collections
Save and categorize content based on your preferences.
AOSP code moves through different branches before it is combined into an
official release. Figure 1 shows the various steps of this release lifecycle:
Figure 1. AOSP release lifecycle.
Following are the steps in the lifecycle:
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.
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.
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 .
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.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-04-15 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-04-15 UTC."],[],[],null,["# Release lifecycle\n\nAOSP code moves through different branches before it is combined into an\nofficial release. Figure 1 shows the various steps of this release lifecycle:\n\n**Figure 1.** AOSP release lifecycle.\n\nFollowing are the steps in the lifecycle:\n\n1. External contributors can download and modify the latest release\n branch for their device, as well as propose code changes for the next version\n of AOSP on this branch.\n\n | **Note:** The [Download the Android source](/docs/setup/download) document explains how to download and sync to the latest release branch. To view all of the code in the latest release branch within Android code search, navigate to [`https://cs.android.com/android/platform/superproject`](https://cs.android.com/android/platform/superproject).\n\n For information on the lifecycle of upstream projects, see\n [Upstream projects lifecycle](#up-life).\n2. Google reviews and, if accepted, cherrypicks proposed changes on\n the latest release branch into Google's *internal development branch*. This\n branch is accessible only within Google and is where Google adds new features\n for the next release.\n\n3. Periodically, an internal release branch is created from the\n internal development branch. Google might cherry pick changes into this release\n branch to address bug fixes and performance improvements .\n\n4. At some point, Google pushes code from the internal release branch to the\n latest release branch (specified in the `android-latest-release` manifest)\n to create a read-only copy of a release branch on the public AOSP host.\n\n### Upstream projects lifecycle\n\n*Upstream project* code flows into the internal development branch and\nfollow steps 3 and 4 in the preceding diagram. The upstream code is published in\nthe next release branch. An upstream project is an open source project from\nwhich the AOSP pulls code. In addition to projects such as the Linux kernel and\nWebKit, Google migrates some semi-autonomous Android projects such as ART, the\nAndroid SDK tools, and Bionic to AOSP. You can contribute directly to some\nupstream projects. For details, see\n[Contribute to an upstream project](/docs/setup/contribute/contribute-upstream)."]]