Kaspersky IoT Secure Gateway 1000 SDK

Сборка программы

23 января 2025

ID 249263

В Kaspersky IoT Secure Gateway 1000 SDK вы можете собрать KPA-пакет программы, который в дальнейшем сможете установить на устройство или на QEMU.

Для сборки KPA-пакета для установки в Kaspersky IoT Secure Gateway 1000 требуется выполнить ряд действий:

  • Добавить дополнительные CMake команды в файл CMakeLists.txt программы.
  • Создать файл шаблона манифеста программы manifest.json.in, который используется при сборке программы.

После выполнения требований, вы можете использовать команду kosctl build в директории проекта.

Для упрощения процедуры создания проекта программы и выполнения требований, вы можете использовать один из шаблонов инструмента kosctl для создания проекта, например:

kosctl new myhello --template helloworld -- app_id="myhello" app_name="My Hello World"

CMake команды для сборки KPA-пакета

Для сборки KPA-пакета требуется добавить следующие команды в файл CMakeLists.txt программы:

  • include (kisg/generate_application_kpa) – подключает зависимость для сборки KPA-пакета.
  • include (kisg/strip_binary_macro) – подключает зависимость для удаления информации об отладке и таблицы символов. Не используйте для сборки программ с целью отладки.
  • strip_binary_macro([имя_программы]) – функция для удаления информации об отладке и таблицы символов. Игнорируется при выполнении сборки с помощью команды kosctl build -b type=debug.
  • generate_application_kpa() – функция для сборки KPA-пакета. Принимает следующие параметры:
    • APP_BINARY – имя бинарного файла программы.
    • APP_BUILD_NUMBER – номер сборки программы.
    • APP_VERSION – версия программы.
    • APP_ID – уникальный идентификатор программы.
    • APP_NAME – отображаемое имя программы.
    • RESOURCES – путь до файла манифеста.
    • BINARY_DIR – путь до генерируемых бинарных файлов.
    • SHARED_LIB_NAMES – имена динамических библиотек, которые требуется добавить в KPA-пакет. Этот параметр доступен только для программ с классом безопасности (eiid) vpn.Client. Указанные библиотеки предварительно требуется добавить в проект с помощью CMake-функции target_link_libraries(), а также добавить в список объектов components манифеста программы.
    • SHARED_LIB_PATH – путь до динамических библиотек, указанных в параметре SHARED_LIB_NAMES.
    • UI_RESOURCE_NAME – путь до ресурсов пользовательского интерфейса. Указывается относительно параметра RESOURCES. Необязательный параметр. Если параметр не указан, то программа будет собираться без пользовательского интерфейса.

Манифест программы

Манифест программы представляет собой файл формата JSON и содержит информацию, которая необходима при установке и использовании программы. Например, файл манифеста содержит следующие сведения:

  • уникальное имя программы;
  • информацию о разработчике;
  • разрешения для программы;
  • зависимости, требования и параметры запуска программы;
  • действия, которые требуется выполнять с файлами программы при установке.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!