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.
Panoramica della build
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
AOSP utilizza il sistema di compilazione Soong per compilare Android. Soong sfrutta lo strumento di clonazione GNU kati e il componente del sistema di compilazione Ninja per velocizzare le build di Android.
I file di compilazione Soong sono chiamati file blueprint e hanno il nome Android.bp
. Questi
file sono simili per sintassi e
semantica ai file BUILD di Bazel.
Per una descrizione dettagliata del formato del file Android.bp
, consulta
Formato del file Android.bp.
Per informazioni sulla conversione dei file Make in file Android.bp
, consulta
Confronto tra Make e Soong.
Flag di lancio delle funzionalità e flag di compilazione
I flag di lancio delle funzionalità sono flag binari utilizzati per isolare il codice non testato dal codice testato. Se hai il tuo mirror del ramo di sviluppo esterno AOSP, puoi utilizzare questi flag per mantenere stabile il codice sottoposto a mirroring. Inoltre, se intendi contribuire con codice al ramo di sviluppo esterno pubblico, il revisore della modifica potrebbe chiederti di implementare un flag per il tuo codice.
I flag di compilazione sono costanti (stringhe) di compilazione utilizzate per modificare la compilazione, ad esempio includendo facoltativamente una libreria di codice.
Per una spiegazione dei diversi rami di codice, consulta
Ciclo di vita delle release.
I flag di lancio delle funzionalità e i flag di compilazione richiedono modifiche ai file di compilazione. Per informazioni aggiuntive su questi flag, incluso il loro utilizzo in una build, consulta la Panoramica dei flag di lancio delle funzionalità e le pagine adiacenti.
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,["# Build overview\n\nAOSP uses the *Soong* build system to build Android. Soong leverages the\n[kati](https://github.com/google/kati/blob/master/README.md) GNU\nMake clone tool and [Ninja](https://ninja-build.org/) build system\ncomponent to speed up builds of Android.\n\nSoong build files are called *blueprint files* and are named `Android.bp`. These\nfiles are similar in syntax and\nsematics to [Bazel BUILD files](https://bazel.build/reference/be/overview).\n\nFor a detailed description of the `Android.bp` file format, see\n[Android.bp file format](/docs/setup/reference/androidbp).\n\nFor information on converting your Make files to `Android.bp` files, see\n[Make and Soong comparison](/docs/setup/build/make-to-soong).\n\nFeature launch flags and build flags\n------------------------------------\n\n*Feature launch flags* are binary flags used to isolate untested code from\ntested code. If you have your own mirror of the AOSP external development\nbranch, you can use these flags to keep your mirrored code stable. Additionally,\nif you intend on contributing code to the public external development branch,\nyou might be asked by your change's reviewer to implement a flag for your code.\n\n*Build flags* are build-time constants (strings) used to modify your build, such\nas optionally including a code library.\n\nFor an explanation of the different code branches, see\n[Release lifecycle](/docs/setup/contribute/release-lifecycle).\n\nFeature launch flags and build flags require changes to build files. For\nadditional information on these flags, including their use in a build, see\nthe [Feature launch flags overview](/docs/setup/build/feature-flagging) and\nadjacent pages."]]