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

OSCHINA-MIRROR/openharmony-build_lite

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_zh.md 11 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 22.04.2025 22:26 6a4268b

Легковесный компонент сборки и компиляции

Обзор

Это компиляторная система, основанная на gn и ninja, поддерживающая компонентизированное развитие OpenHarmony. Основные функции включают:

  • Сборку продуктов.
  • Независимую сборку компонентов производителей микросхем.
  • Независимую сборку отдельных компонентов.

Перед разработкой компиляторной системы следует ознакомиться с основными концепциями:

  • Компонент

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

  • gn

    Сокращение от Generate ninja, мета-система сборки, используемая для создания файлов ninja.

  • ninja

    Легковесная система сборки, ориентированная на скорость.

Процесс сборки представлен на рисунке 1, который включает в себя настройку и сборку:

Рис. 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                         # Скрипты и параметры компиляции Native API
└── toolchain                   # Конфигурационные параметры компилятора, включая: пути к компиляторам, параметры компиляции, параметры линковки и т. д.

Описание

Инструкция по использованию

  1. Предварительные условия

    • Сервер Linux, Ubuntu 16.04 и выше, 64-битная версия.
    • Python 3.7.4 и выше.
    • Успешное скачивание репозитория OpenHarmony build_lite.
  2. Установка hb

    • Выполните следующую команду в корневой директории исходного кода:

      python3 -m pip install --user build/lite
    • Выполните hb -h для получения справочной информации. Если отображается информация, значит установка выполнена успешно: ``` использование: hb

      Система сборки OHOS

      позиционные аргументы: {build,set,env,clean} build Сборка исходного кода set Настройки сборки OHOS env Показать среду сборки OHOS clean Очистить выходные файлы

      необязательные аргументы: -h, --help показать это сообщение о помощи и выйти

      python3 -m pip uninstall ohos-build

  3. Команды компиляции

    1. hb set

      hb set -h
      использование: hb set [-h] [-root [ROOT_PATH]] [-p]
      
      необязательные аргументы:
        -h, --help            Показать это сообщение справки и выйти.
        -root [ROOT_PATH], --root_path [ROOT_PATH]
                              Установить корневую директорию OHOS.
        -p, --product         Установить продукт OHOS.
      • hb set без параметров запускает процесс по умолчанию.
      • hb set -root [ROOT_PATH] задает корневую директорию исходного кода.
      • hb set -p --product задает продукт для компиляции.
    2. hb env

      Просмотр текущих настроек

      hb env
      [OHOS INFO] root path: xxx
      [OHOS INFO] board: hispark_taurus
      [OHOS INFO] kernel: liteos
      [OHOS INFO] product: ipcamera
      [OHOS INFO] product path: xxx/vendor/hisilicon/ipcamera
      [OHOS INFO] device path: 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`. Если путь не указан, будет удалена директория `out` для продукта, настроенного с помощью `hb set`.

        ```
        hb clean
        Использование: hb clean [-h] [out_path]
        
        Позиционные аргументы:
          out_path    Удаляет указанный путь.
        
        Опциональные аргументы:
          -h, --help  Показывает это сообщение о помощи и завершает выполнение.
        ```

## Связанные репозитории<a name="section1371113476307"></a>

**[Подсистема сборки и компиляции](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/编译构建子系统.md)**

**[build](https://gitee.com/openharmony/build/blob/master/README_zh.md)**

Опубликовать ( 0 )

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

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