À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release au lieu de aosp-main pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Configurer pour le développement AOSP (9.0 ou version ultérieure)
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Avant de télécharger et de compiler la branche de la dernière version d'Android (android16-release) de la source Android, assurez-vous que votre matériel répond aux exigences nécessaires et que le logiciel requis est correctement installé. Vous devez également connaître les termes suivants:
Git
Git est un système de contrôle des versions distribué, Open Source et sans frais.
Android utilise Git pour les opérations locales telles que la création de branches, les commits, les différences et les modifications. Pour en savoir plus sur Git, consultez la documentation Git.
Dépôt
Repo est un wrapper Python autour de Git qui simplifie l'exécution d'opérations complexes sur plusieurs dépôts Git. Repo ne remplace pas Git pour toutes les opérations de contrôle des versions. Il ne facilite que les opérations Git complexes. Le dépôt utilise des fichiers manifestes pour agréger les projets Git dans le superprojet Android.
Fichier manifeste
Un fichier manifeste est un fichier XML qui spécifie l'emplacement des différents projets Git dans la source Android dans un arbre de sources AOSP.
Disposer de la configuration matérielle requise
Votre poste de travail de développement doit répondre aux exigences matérielles suivantes ou les dépasser:
Un système x86 64 bits.
Au moins 400 Go d'espace disque disponible pour le check-out et la compilation du code (250 Go pour le check-out et 150 Go pour la compilation).
Au moins 64 Go de RAM Google utilise des machines à 72 cœurs avec 64 Go de RAM pour compiler Android. Avec cette configuration matérielle, la compilation complète d'Android prend environ 40 minutes et la compilation incrémentielle d'Android ne prend que quelques minutes. En revanche, une compilation complète avec une machine à 6 cœurs et 64 Go de RAM prend environ six heures.
Respecter les exigences du système d'exploitation
Votre poste de travail de développement doit exécuter une distribution Linux 64 bits avec GNU C Library (glibc) 2.17 ou version ultérieure.
Installer les packages requis
Pour compiler Android 11 ou version ultérieure, vous devez utiliser Ubuntu 18.04 ou une version ultérieure. Pour installer les paquets requis pour Ubuntu 18.04 ou version ultérieure, exécutez la commande suivante:
Parmi les paquets installés, cette commande installe Git, qui permet de télécharger la source AOSP.
Installer le logiciel requis
Avant de pouvoir travailler avec AOSP, vous devez installer OpenJDK, Make, Python 3 et Repo. La dernière branche de version d'Android est fournie avec des versions précompilées d'OpenJDK, de Make et de Python 3. Aucune étape d'installation supplémentaire n'est donc requise. La section suivante explique comment installer Repo.
Installer le dépôt
Pour installer Repo, procédez comme suit:
Téléchargez les informations actuelles sur le package:
sudoapt-getupdate
Exécutez la commande suivante pour installer le lanceur de dépôts:
sudoapt-getinstallrepo
Le lanceur Repo fournit un script Python qui initialise un "checkout" et télécharge l'outil Repo complet.
Si vous y parvenez, passez à l'étape 4.
(Facultatif) Installez manuellement Repo à l'aide de la série de commandes suivante:
Les trois premières commandes configurent un fichier temporaire, téléchargent Repo dans le fichier et vérifient que la clé fournie correspond à la clé requise. Si ces commandes aboutissent, la commande finale installe le lanceur Repo.
Vérifiez la version du lanceur Repo:
repoversion
Le résultat doit indiquer une version 2.4 ou ultérieure, par exemple:
repo launcher version 2.45
Définir un autre répertoire de sortie
Par défaut, la sortie de chaque build est stockée dans le sous-répertoire out/ de l'arborescence source correspondante. Vous pouvez remplacer ce répertoire en exportant la variable d'environnement OUT_DIR. Par exemple, si vous souhaitez stocker votre sortie sur un autre disque, vous pouvez diriger OUT_DIR vers ce disque:
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# Set up for AOSP development (9.0 or later)\n\nBefore you download and build the Android latest release branch\n(android16-release) of the Android source, ensure\nthat your hardware meets the necessary requirements and that required software\nis properly installed. You should also be familiar with the following terms:\n\n*Git*\n: Git is a free and open source distributed version control system.\n Android uses Git for local operations such as branching, commits, diffs,\n and edits. For help learning Git, refer to the [Git documentation](https://git-scm.com/doc).\n\n*Repo*\n: Repo is a Python wrapper around Git that simplifies performing\n complex operations across multiple Git repositories. Repo doesn't replace Git\n for all version control operations, it only makes complex Git operations easier\n to accomplish. Repo uses manifest files to aggregate Git projects into the\n Android superproject.\n\n*Manifest file*\n: A manifest file is an XML file specifying where the various Git projects in\n the Android source are placed within an AOSP source tree.\n| **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.\n| **Note:** If you want to build Android 2.3 - 8.0, refer to [Set up for AOSP development (2.3 - 8.0)](/docs/setup/start/older-versions).\n\nMeet hardware requirements\n--------------------------\n\nYour development workstation should meet or exceed these hardware\nrequirements:\n\n- A 64-bit x86 system.\n\n | **Note:** You can compile AOSP versions previous to 2.3.x on 32-bit systems.\n- At least 400 GB of free disk space to check out and build the code\n (250 GB to check out + 150 GB to build).\n\n | **Note:** If you're checking out a mirror, you need more space because the full Android Open Source Project (AOSP) mirrors contain all Git repositories that have ever been used.\n- A minimum of 64 GB of RAM. Google uses 72-core machines with 64 GB\n of RAM to build Android. With this hardware configuration, it takes\n approximately 40 minutes for a full build of Android and only a few minutes for incremental build of Android. By contrast, it takes approximately 6 hours for a\n full build with a 6-core machine with 64 GB of RAM.\n\nMeet operating system requirements\n----------------------------------\n\nYour development workstation must run any 64-bit Linux distribution with GNU C\nLibrary (glibc) 2.17 or later.\n| **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)](/docs/setup/start/older-versions).\n\nInstall required packages\n-------------------------\n\nTo build Android 11 or higher, you must use Ubuntu 18.04 or later. To install\nrequired packages for Ubuntu 18.04 or later, run the following command: \n\n 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\n\nAmong the packages installed, this command installs Git, which is used to\ndownload the AOSP source.\n| **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)](/docs/setup/start/older-versions).\n\nInstall required software\n-------------------------\n\nBefore you can work with AOSP, you must have installations of OpenJDK, Make,\nPython 3, and Repo. The latest release branch of Android comes with prebuilt\nversions of OpenJDK, Make, and Python 3, so additional installation steps aren't\nrequired. The following section explains how to install Repo.\n\n### Install Repo\n\nFollow these steps to install Repo:\n\n1. Download the current package information:\n\n sudo apt-get update\n\n2. Run the following command to install the Repo launcher:\n\n sudo apt-get install repo\n\n The Repo launcher provides a Python script that initializes a checkout\n and downloads the full Repo tool.\n\n If successful, skip to step 4.\n3. (optional) Manually install Repo using the following series of commands:\n\n export REPO=$(mktemp /tmp/repo.XXXXXXXXX)\n curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo\n gpg --recv-keys 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65\n curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo\n\n The first three commands set up a temp file, download Repo to the file, and\n verify that the key provided matches the required key. If these commands are\n successful, the final command installs the Repo launcher.\n4. Verify the Repo launcher version:\n\n repo version\n\n The output should indicate a version of 2.4 or higher, for example:\n\n `repo launcher version 2.45`\n\nSet an alternative output directory\n-----------------------------------\n\nBy default, the output of each build is stored in the `out/` subdirectory of\nthe matching source tree. You can override this directory by exporting the\n`OUT_DIR` environment variable. For example, if you want to store your output\non a different drive, you can point `OUT_DIR` to that drive: \n\n export OUT_DIR=\u003cvar translate=\"no\"\u003emy_other_drive\u003c/var\u003e\n\nWhat's next?\n------------\n\n- To download the source code, continue to [Download the Android source](/docs/setup/download).\n- For help learning Git, see the [Git documentation](https://git-scm.com/doc).\n- For additional Repo documentation, see the [Repo README](https://gerrit.googlesource.com/git-repo/+/refs/heads/main/README.md).\n- For a list of all Repo commands, refer to the [Repo command reference](/docs/setup/reference/repo)."]]