Как создать обзор

Для сборки Android в AOSP используется система сборки Soong. Soong использует инструмент kati, клон GNU Make, и компонент системы сборки Ninja, чтобы ускорить сборку Android.

Файлы сборки Soong называются файлами чертежей и имеют название Android.bp. Эти файлы похожи по синтаксису и семантике на файлы сборки Bazel.

Подробнее Android.bp о формате файла Android.bp…

Подробнее о том, как преобразовать файлы Make в файлы Android.bp…

Флаги запуска функций и флаги сборки

Флаги запуска функций – это двоичные флаги, которые используются для изоляции непроверенного кода от проверенного. Если вы поддерживаете собственную копию внешней ветки разработки AOSP, то можете использовать эти флаги, чтобы обеспечить стабильность кода. Если вы добавляете код в общедоступную внешнюю ветку разработки, проверяющий может попросить вас реализовать флаг для вашего кода.

Флаги сборки – это строковые константы, используемые во время сборки для ее изменения, например для включения библиотеки кода.

Подробнее о жизненном цикле выпусков…

Для флагов запуска функций и флагов сборки требуется изменить файлы сборки. Подробную информацию об этих флагах и о том, как использовать их в сборке, можно найти в статье Обзор флагов запуска функций.

Удаление неиспользуемого кода и ресурсов с помощью R8

Soong использует компилятор R8 для сжатия и оптимизации целей Java и Kotlin, которые компилируют байт-код DEX, например android_app, android_test и устанавливаемые модули java_library. В статических библиотеках, таких как android_library и static java_library, блок optimize прикрепляет и экспортирует правила хранения данных.

Подробнее о том, как настроить оптимизацию R8 и правила сохранения, рассказывается в статье Как оптимизировать код платформы и ресурсы с помощью R8.