À 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.
Présentation de la compilation
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
AOSP utilise le système de compilation Soong pour compiler Android. Soong exploite l'outil de clonage GNU Make kati et le composant du système de compilation Ninja pour accélérer les compilations d'Android.
Les fichiers de compilation Soong sont appelés fichiers de plan et sont nommés Android.bp
. Ces fichiers sont semblables en syntaxe et en sémantique aux fichiers BUILD Bazel.
Pour obtenir une description détaillée du format de fichier Android.bp
, consultez la section Format de fichier Android.bp.
Pour savoir comment convertir vos fichiers Make en fichiers Android.bp
, consultez la section Comparaison entre Make et Soong.
Indicateurs de lancement de fonctionnalités et indicateurs de compilation
Les indicateurs de lancement de fonctionnalités sont des indicateurs binaires utilisés pour isoler le code non testé du code testé. Si vous disposez de votre propre miroir de la branche de développement externe d'AOSP, vous pouvez utiliser ces indicateurs pour maintenir la stabilité de votre code miroir. De plus, si vous souhaitez contribuer au code de la branche de développement externe publique, l'examinateur de votre modification peut vous demander d'implémenter un indicateur pour votre code.
Les options de compilation sont des constantes (chaînes) utilisées au moment de la compilation pour modifier votre compilation, par exemple en incluant éventuellement une bibliothèque de code.
Pour en savoir plus sur les différentes branches de code, consultez la section Cycle de vie des versions.
Les indicateurs de lancement de fonctionnalités et les indicateurs de compilation nécessitent des modifications apportées aux fichiers de compilation. Pour en savoir plus sur ces indicateurs, y compris leur utilisation dans un build, consultez la présentation des indicateurs de lancement de fonctionnalités et les pages associées.
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,["# 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."]]