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

OSCHINA-MIRROR/openharmony-bundlemanager_bundle_framework_lite

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_zh.md 6.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 04.03.2025 02:04 4f926ab

Подсистема управления пакетами

Обзор

Подсистема управления пакетами — это модуль, предоставляемый OpenHarmony для управления установкой, удалением, обновлением приложений и запросом информации о приложениях. В настоящее время поддерживается только на легковесных устройствах OpenHarmony, таких как смарт-часы и Hi3516DV300. Подсистема состоит из следующих компонентов:

Рисунок 1 Архитектурная схема подсистемы управления пакетами Архитектурная схема подсистемы управления пакетами

  • BundleKit: Интерфейсы, предоставленные службой управления пакетами, включают интерфейсы установки/удаления, запроса информации о пакете и слушатели изменения состояния пакета.

  • Подмодуль сканирования пакетов: Парсинг локально предварительно установленных или установленных пакетов, извлечение различных данных внутри пакетов для управления и хранения этих данных.

  • Подмодуль установки пакетов: Отвечает за установку, удаление и обновление одного пакета.

  • Управление пакетами: Управляет информацией о пакетах, хранит и обеспечивает постоянство этой информации.

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

Структура каталога

/foundation/bundlemanager/bundle_framework_lite
    ├── frameworks
    │      └── bundle_lite                # Клиентский код для взаимодействия между BundleKit и службой управления пакетами
    ├── interfaces
    │      ├── kits
    │      │     └── bundle_lite         # Интерфейсы BundleKit для разработчиков
    │      └── inner_api
    │             └── bundlemgr_lite      # Основной код реализации BundleKit и интерфейсы службы управления пакетами для других подсистем
    ├── services
    │      └── bundlemgr_lite             # Реализация службы управления пакетами
    └── utils
            └── bundle_lite                # Инструментальные коды, используемые в реализации службы управления пакетами

Компиляция и использование

  • В настоящее время OpenHarmony использует инструмент hb для компиляции, который следует запустить из корневого каталога кода. Команды компиляции приведены ниже:
hb set                    # Выбор типа устройства для загрузки
hb build -f               # Компиляция всего кода
hb build -T bundlems      # Компиляция отдельного модуля
  • Используйте инструмент bm для установки конкретного hap-пакета (в качестве примера используется его spark taurus, инструмент bm находится в out/hispark_taurus/ipcamera_hispark_taurus/dev_tools/bin после сборки системы):
./bin/bm install -p /nfs/xxxx.hap      # Установка xxxx.hap
  • Используйте инструмент bm для получения информации о приложении, команды выполнения приведены ниже:
./bin/bm dump -n имя_пакета     # Получение информации о пакете с указанным именем
./bin/bm dump -l                 # Получение информации обо всех пакетах

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

  • Сервис управления пакетами назван BundleMs, он работает в процессе foundation;
  • После запуска системы BundleMs автоматически запускается вместе со всеми другими сервисами;
  • BundleMs регистрируется в sa_manager, который также работает в процессе foundation, sa_manager создает среду выполнения для BundleMs. Дополнительные детали создания и использования этого сервиса можно найти в разделе системных сервисов;

Связанные репозитории

ability_ability_lite

bundlemanager_bundle_framework_lite

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

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

1
https://api.gitlife.ru/oschina-mirror/openharmony-bundlemanager_bundle_framework_lite.git
git@api.gitlife.ru:oschina-mirror/openharmony-bundlemanager_bundle_framework_lite.git
oschina-mirror
openharmony-bundlemanager_bundle_framework_lite
openharmony-bundlemanager_bundle_framework_lite
master