A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release anziché aosp-main per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Configurazione per lo sviluppo AOSP (9.0 o versioni successive)
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Prima di scaricare e compilare il ramo di release più recente di Android (android16-release) del codice sorgente di Android, assicurati che l'hardware soddisfi i requisiti necessari e che il software richiesto sia installato correttamente. Inoltre, devi conoscere i seguenti termini:
Git
Git è un sistema di controllo della versione distribuito, senza costi e open source.
Android utilizza Git per le operazioni locali come branching, commit, diff e modifiche. Per informazioni su come utilizzare Git, consulta la documentazione di Git.
Repo
Repo è un wrapper Python per Git che semplifica l'esecuzione di operazioni complesse su più repository Git. Repo non sostituisce Git per tutte le operazioni di controllo della versione, ma semplifica solo le operazioni complesse di Git. Repo utilizza i file manifest per aggregare i progetti Git nel superprogetto Android.
File manifest
Un file manifest è un file XML che specifica dove sono posizionati i vari progetti Git nel codice sorgente di Android all'interno di una struttura ad albero del codice sorgente AOSP.
Soddisfare i requisiti hardware
La workstation di sviluppo deve soddisfare o superare i seguenti requisiti hardware:
Un sistema x86 a 64 bit.
Almeno 400 GB di spazio libero su disco per il check-out e la compilazione del codice (250 GB per il check-out + 150 GB per la compilazione).
Almeno 64 GB di RAM. Google utilizza macchine con 72 core e 64 GB di RAM per compilare Android. Con questa configurazione hardware, sono necessari circa 40 minuti per una build completa di Android e solo pochi minuti per una build incrementale di Android. Al contrario, sono necessarie circa 6 ore per una compilazione completa con una macchina a 6 core con 64 GB di RAM.
Soddisfare i requisiti del sistema operativo
La workstation di sviluppo deve eseguire qualsiasi distribuzione Linux a 64 bit con GNU C Library (glibc) 2.17 o versioni successive.
Installa i pacchetti richiesti
Per compilare Android 11 o versioni successive, devi utilizzare Ubuntu 18.04 o versioni successive. Per installare i pacchetti obbligatori per Ubuntu 18.04 o versioni successive, esegui il seguente comando:
Tra i pacchetti installati, questo comando installa Git, che viene utilizzato per scaricare il codice sorgente di AOSP.
Installa il software necessario
Prima di poter lavorare con AOSP, devi installare OpenJDK, Make,
Python 3 e Repo. Il ramo di release più recente di Android è dotato di versioni predefinite di OpenJDK, Make e Python 3, pertanto non sono necessari passaggi di installazione aggiuntivi. La sezione seguente spiega come installare Repo.
Installa Repo
Per installare Repo:
Scarica le informazioni sul pacchetto attuale:
sudoapt-getupdate
Esegui il seguente comando per installare il programma di avvio del repository:
sudoapt-getinstallrepo
Il programma di lancio di Repo fornisce uno script Python che inizializza un controllo e scarica lo strumento Repo completo.
Se l'operazione è andata a buon fine, vai al passaggio 4.
(Facoltativo) Installa manualmente Repo utilizzando la seguente serie di comandi:
I primi tre comandi configurano un file temporaneo, scaricano il repository nel file e verificano che la chiave fornita corrisponda a quella richiesta. Se questi comandi vanno a buon fine, il comando finale installa il programma di avvio del repository.
Verifica la versione del programma di avvio del repository:
repoversion
L'output dovrebbe indicare una versione 2.4 o successiva, ad esempio:
repo launcher version 2.45
Impostare una directory di output alternativa
Per impostazione predefinita, l'output di ogni build viene archiviato nella sottodirectory out/ della struttura di origine corrispondente. Puoi sostituire questa directory esportando la variabile di ambiente OUT_DIR. Ad esempio, se vuoi memorizzare l'output su un'altra unità, puoi indirizzare OUT_DIR a quell'unità:
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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)."]]