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

OSCHINA-MIRROR/openharmony-startup_appspawn

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_zh.md 5.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 18.05.2025 05:34 952c909

appspawn приложение-инкубатор компонентов

Введение

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

Рисунок 1 Схема компонента приложения-инкубатора

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

base/startup/appspawn_standard
├─adapter                # Адаптация внешних зависимостей
│  └─sysevent            # Управление системными событиями
├─common                 # Общий код
├─etc
├─figures
├─interfaces             # Заголовочные файлы и внешние интерфейсы компонента приложения-инкубатора
│  └─innerkits
│      ├─client          # Исходный код клиента приложения-инкубатора
│      └─include         # Заголовочные файлы приложения-инкубатора
├─lite                   # Исходный код приложения-инкубатора для малых систем
├─standard               # Исходный код приложения-инкубатора для стандартных систем
├─test                   # Исходный код тестов компонента приложения-инкубатора
└─util
    ├─include            # Заголовочные файлы вспомогательных классов приложения-инкубатора
    └─src                # Исходный код вспомогательных классов приложения-инкубатора, включая библиотеку обработки JSON и реализацию приложения-песочницы

Описание

Малые системыПосле запуска appspawn инициализатором, он регистрирует имя службы в IPC-фреймворке, затем ожидает приём межпроцессных сообщений и, в зависимости от результата анализа сообщений, запускает службу приложения и предоставляет ей соответствующие права доступа. Имя службы, зарегистрированное appspawn, — "appspawn". В рамках ограничений подсистемы безопасности, в настоящее время только служба Ability Manager Service имеет право отправлять межпроцессные сообщения appspawn.

Сообщения, принимаемые appspawn, имеют формат JSON, как показано ниже:

"{"bundleName":"testvalid1","identityID":"1234","uID":1000,"gID":1000,"capability":[0]}"

Таблица 1 Описание полей для малых систем

Поле Описание
bundleName Имя пакета приложения, которое будет запущено, длина ≥ 7 байт, ≤ 127 байт.
identityID Идентификатор, сгенерированный AMS для нового процесса, передается appspawn в новый процесс, длина ≥ 1 байт, ≤ 24 байт.
uID uID процесса службы приложения, которое будет запущено.
gID gID процесса службы приложения, которое будет запущено.
capability Capability-права, необходимые для процесса службы приложения, которое будет запущено, количество ≤ 10.

Стандартные системы

Имя службы, зарегистрированное appspawn, — "appspawn". Appspawn прослушивает локальный сокет для приема запросов от клиентов. Подробные инструкции по использованию см. в Разработчикском руководстве: appspawn компонент для запуска приложений

Ограничения и ограничения

Поддерживается только для малых и стандартных систем.

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

startup_appspawnstartup_init_lite

startup_bootstrap_lite

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

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

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