Подсистема сборки и построения представляет собой фреймворк сборки, основанный на Generate Ninja (GN) и Ninja, который поддерживает компонентный подход к разработке OpenHarmony. Эта подсистема может использоваться для:
build/lite # Основная директория
├── components # Файл описания компонента
├── hb # Пакет установки hb pip
├── make_rootfs # Скрипт сборки файловой системы
├── config # Параметры конфигурации сборки
│ ├── component # Определения шаблонов, связанных с компонентами, включая статические библиотеки, динамические библиотеки, расширения компонентов и библиотеки эмулятора
│ ├── kernel # Параметры конфигурации сборки ядра
│ └── subsystem # Шаблон подсистемы
├── ndk # Скрипты сборки и параметры конфигурации для NDK
└── toolchain # Средства сборки, которые включают директории компилятора, параметры сборки и параметры линковки
``` ## Использование <a name="section1312121216216"></a>
### Правила использования <a name="section129654513264"></a>
1. **Необходимые условия**
- Сервер и версия ОС: Linux-сервер, работающий с 64-битной Ubuntu 16.04 или более поздней версией
- Версия Python: 3.7.4 или более поздняя
- Репозиторий: **build_lite** исходного кода OpenHarmony
2. **Установка hb**
- Выполните следующую команду в корневой директории исходного кода:
```
python3 -m pip install --user build/lite
```
- Выполните команду **hb -h**. Если отображается следующая информация, установка выполнена успешно:
```
usage: hb
OHOS build system
positional arguments:
{build,set,env,clean}
build Build source code
set OHOS build settings
env Show OHOS build env
clean Clean output
optional arguments:
-h, --help Show this help message and exit
```
- **Удаление hb**
Выполните следующую команду для удаления hb:
```
python3 -m pip uninstall ohos-build
```
3. **Команды сборки**
1. **hb set**
```
hb set -h
usage: hb set [-h] [-root [ROOT_PATH]] [-p]
optional arguments:
-h, --help Show this help message and exit.
-root [ROOT_PATH], --root_path [ROOT_PATH]
Set OHOS root path.
-p, --product Set OHOS board and kernel.
```
- Если вы выполните **hb set** без аргументов, начнется процесс установки по умолчанию.
- Вы можете выполнить **hb set -root** _\[ROOT_PATH\]_ для установки корневой директории исходного кода. - **hb set -p --product** используется для установки продукта для сборки. 2. **hb env**
Просмотреть текущую конфигурацию.
```
hb env
[OHOS INFO] корневая директория: xxx
[OHOS INFO] плата: hispark_taurus
[OHOS INFO] ядро: liteos
[OHOS INFO] продукт: ipcamera
[OHOS INFO] путь к продукту: xxx/vendor/hisilicon/ipcamera
[OHOS INFO] путь к устройству: xxx/device/hisilicon/hispark_taurus/sdk_linux_4.19
```
3. **hb build**
```
hb build -h
использование: hb build [-h] [-b BUILD_TYPE] [-c COMPILER] [-t [TEST [TEST . . . ]]]
[--dmverity] [-p PRODUCT] [-f] [-n]
[component [component . . . ]]
позиционные аргументы:
component Имя компонента.
опциональные аргументы:
-h, --help Показать это сообщение о помощи и выйти.
-b BUILD_TYPE, --build_type BUILD_TYPE
Версия для выпуска или отладки.
-c COMPILER, --compiler COMPILER
Указать компилятор.
-t [TEST [TEST . . . ]], --test [TEST [TEST . . . ]]
Скомпилировать тестовый набор.
--dmverity Включить dmverity.
-p PRODUCT, --product PRODUCT
Скомпилировать указанный продукт с
{product_name}@{company}, например: ipcamera@hisilicon.
-f, --full Полное скомпилирование кода.
-T [TARGET [TARGET . . . ]], --target [TARGET [TARGET . . . ]]
Скомпилировать отдельную цель
```
- Если вы запустите **hb build** без аргументов, будет использована ранее настроенная директория кода, продукт и опции для сборки. - Вы можете запустить **hb build** _{component}_ для отдельной сборки компонентов продукта на основе настроенной платы и ядра, например, **hb build kv_store**.
- Вы можете запустить **hb build -p PRODUCT** для пропуска этапа настройки и непосредственной сборки продукта.
- Вы можете запустить **hb build** в **device/device_company/board** для выбора ядра и запуска сборки на основе текущей платы и выбранного ядра, чтобы сгенерировать изображение, содержащее только ядро и драйвер.
4. **hb clean**
Очистить результат сборки продукта в директории **out** и оставить только файлы **args.gn** и **build.log**. Чтобы очистить файлы в указанной директории, добавьте параметр директории к команде, например, **hb clean** _xxx/out/xxx_.
```
hb clean
использование: hb clean [-h] [out_path]
позиционные аргументы:
out_path Очистка указанного пути.
опциональные аргументы:
-h, --help Показать это сообщение справки и выйти.
```
## Вовлеченные репозитории<a name="section1371113476307"></a>
Подсистема сборки и компиляции
**[build_lite](https://gitee.com/openharmony/build_lite)**
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )