1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-build_lite

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
.gn
Loading...
README.md

Сборка и построение (для мини- и малых систем)

Введение

Подсистема сборки и построения представляет собой фреймворк сборки, основанный на Generate Ninja (GN) и Ninja, который поддерживает компонентный подход к разработке OpenHarmony. Эта подсистема может использоваться для:

  • Сборки продуктов.
  • Независимой сборки компонентов поставщиков чипсетов.
  • Независимой сборки отдельных компонентов. Рекомендуется ознакомиться с следующими базовыми концепциями перед началом разработки и сборки:
  • Компонент Компонент — это перезапускаемая единица программного обеспечения, которая может содержать исходный код, конфигурационные файлы, ресурсные файлы и скрипты сборки.
  • GN GN — это сокращение от Generate Ninja, которое представляет собой систему сборки, используемую для генерации файлов Ninja.
  • Ninja Ninja — это небольшая и высокоскоростная система сборки. Процесс сборки Следующая диаграмма показывает процесс сборки. Рис. 1 Процесс сборки
  1. hb set: Установка директории исходного кода OpenHarmony и продукта для сборки.
  2. hb build: Сборка продукта, разработки доски или компонента. Процесс сборки решения включает следующие шаги: - Чтение конфигурации: Чтение конфигурации разработки доски, которая охватывает инструментарий, команды связывания и параметры сборки. - Запуск GN: Запуск команды gn gen для чтения конфигурации продукта (связанной с разработкой доски, ядром и системными компонентами) и генерации директории out и файлов ninja для решения. - Запуск Ninja: Запуск ninja -C out/company/product для начала сборки. - Упаковка: Упаковка результата сборки для создания образа файловой системы.

Структура директорий

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 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Python и 3 других языков
Apache-2.0
Отмена

Обновления (1)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/openharmony-build_lite.git
git@api.gitlife.ru:oschina-mirror/openharmony-build_lite.git
oschina-mirror
openharmony-build_lite
openharmony-build_lite
master