Od 27 marca 2025 r. zalecamy używanie android-latest-release
zamiast aosp-main
do kompilowania i wspołtworzenia AOSP. Więcej informacji znajdziesz w artykule o zmianach w AOSP.
Omówienie kompilacji
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
AOSP używa systemu kompilacji Soong do kompilowania Androida. Soong korzysta z klonu narzędzia GNU Make kati i komponentu systemu kompilacji Ninja, aby przyspieszyć kompilację Androida.
Pliki kompilacji Soong to pliki z planem o nazwie Android.bp
. Te pliki są podobne pod względem składni i semantyki do plików BUILD w Bazel.
Szczegółowy opis formatu pliku Android.bp
znajdziesz w artykule Format pliku Android.bp.
Informacje o konwertowaniu plików Make na pliki Android.bp
znajdziesz w artykule Porównanie Make i Soong.
Flagi funkcji i flagi wersji
Flagi wdrażania funkcji to flagi binarne służące do oddzielania niesprawdzonego kodu od sprawdzonego. Jeśli masz własne zwierciadło zewnętrznej gałęzi rozwojowej AOSP, możesz użyć tych flag, aby zachować stabilność zwierciadła. Dodatkowo,
jeśli chcesz wprowadzić zmiany w kodzie w publicznym zewnętrznym gałęzi rozwoju,
recenzent może poprosić Cię o wdrożenie flagi dla Twojego kodu.
Flagi kompilacji to stałe (ciągi znaków) używane na etapie kompilacji do modyfikowania kompilacji, np. opcjonalnie do włączania biblioteki kodu.
Wyjaśnienie różnych gałęzi kodu znajdziesz w artykule Cykl życia wersji.
Flagi funkcji i flagi kompilacji wymagają wprowadzenia zmian w plikach kompilacji. Więcej informacji o tych flagach, w tym o ich zastosowaniu w kompilacji, znajdziesz w artykule Omówienie flag funkcji i na sąsiednich stronach.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 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."]]