[ Web Proxy ]
URL:
Viewing: https://source.android.com/docs/setup/requirements [Back]  [Original]

Set up for AOSP development (9.0 or later)  |  Android Open Source Project Skip to main content
Android Open Source Project [Android Open Source Project]

Set up for AOSP development (9.0 or later) Stay organized with collections Save and categorize content based on your preferences.

Before you download and build the Android latest release branch (android17-release) of the Android source, ensure that your hardware meets the necessary requirements and that required software is properly installed. You should also be familiar with the following terms:

Git
Git is a free and open source distributed version control system. Android uses Git for local operations such as branching, commits, diffs, and edits. For help learning Git, refer to the Git documentation.
Repo
Repo is a Python wrapper around Git that simplifies performing complex operations across multiple Git repositories. Repo doesn't replace Git for all version control operations, it only makes complex Git operations easier to accomplish. Repo uses manifest files to aggregate Git projects into the Android superproject.
Manifest file
A manifest file is an XML file specifying where the various Git projects in the Android source are placed within an AOSP source tree.
Note: All commands in this documentation are preceded by a dollar sign ($) to differentiate them from output or entries within files. To copy a command to the clipboard, click the Copy code sample icon in the top right of each command box.Note: If you want to build Android 2.3 - 8.0, refer to Set up for AOSP development (2.3 - 8.0).

Meet hardware requirements

Your development workstation should meet or exceed these hardware requirements:

Meet operating system requirements

Your development workstation must run any 64-bit Linux distribution with GNU C Library (glibc) 2.17 or later.

Warning: Android OS development on macOS isn't supported as of June 22, 2021 (Android 11). For information on configuring your development workstation for macOS, refer to Set Up for AOSP development (2.3 - 8.0).

Install required packages

To build Android 11 or higher, you must use Ubuntu 18.04 or later. To install required packages for Ubuntu 18.04 or later, run the following command:

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

Among the packages installed, this command installs Git, which is used to download the AOSP source.

Note: This command works for Ubuntu 18.04 or later. For package installation for earlier versions of Ubuntu, see Setup for Android development (AOSP 2.3 - 8).

Install required software

Before you can work with AOSP, you must have installations of OpenJDK, Make, Python 3, and Repo. The latest release branch of Android comes with prebuilt versions of OpenJDK, Make, and Python 3, so additional installation steps aren't required. The following section explains how to install Repo.

Install Repo

Follow these steps to install Repo:

  1. Download the current package information:

    sudo apt-get update
  2. Run the following command to install the Repo launcher:

    sudo apt-get install repo

    The Repo launcher provides a Python script that initializes a checkout and downloads the full Repo tool.

    If successful, skip to step 4.

  3. (optional) Manually install Repo using the following series of commands:

    export REPO=$(mktemp /tmp/repo.XXXXXXXXX)
    curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo
    gpg --recv-keys 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
    curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo

    The first three commands set up a temp file, download Repo to the file, and verify that the key provided matches the required key. If these commands are successful, the final command installs the Repo launcher.

  4. Verify the Repo launcher version:

    repo version

    The output should indicate a version of 2.4 or higher, for example:

    repo launcher version 2.45

Set an alternative output directory

By default, the output of each build is stored in the out/ subdirectory of the matching source tree. You can override this directory by exporting the OUT_DIR environment variable. For example, if you want to store your output on a different drive, you can point OUT_DIR to that drive:

export OUT_DIR=my_other_drive

What's next?

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 2026-06-17 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 2026-06-17 UTC."],[],[]]

Web Proxy Viewer  |  New URL  |  Original Page