169570cc8Sopenharmony_ci# appspawn应用孵化器部件
269570cc8Sopenharmony_ci
369570cc8Sopenharmony_ci## 简介
469570cc8Sopenharmony_ci
569570cc8Sopenharmony_ci应用孵化器,负责接受应用程序框架的命令孵化应用进程,设置其对应权限,并调用应用程序框架的入口。
669570cc8Sopenharmony_ci
769570cc8Sopenharmony_ci**图1** appspawn应用孵化器组件框架图
869570cc8Sopenharmony_ci![](figures/appspawn.png)
969570cc8Sopenharmony_ci
1069570cc8Sopenharmony_ci## 目录
1169570cc8Sopenharmony_ci```
1269570cc8Sopenharmony_cibase/startup/appspawn_standard
1369570cc8Sopenharmony_ci├─adapter                # 适配外部依赖
1469570cc8Sopenharmony_ci│  └─sysevent            # 系统事件管理
1569570cc8Sopenharmony_ci├─common                 # 通用代码
1669570cc8Sopenharmony_ci├─etc
1769570cc8Sopenharmony_ci├─figures
1869570cc8Sopenharmony_ci├─interfaces             # 应用孵化器组件头文件以及对外接口
1969570cc8Sopenharmony_ci│  └─innerkits
2069570cc8Sopenharmony_ci│      ├─client          # 应用孵化器客户端源码
2169570cc8Sopenharmony_ci│      └─include         # 应用孵化器头文件
2269570cc8Sopenharmony_ci├─lite                   # 小型系统应用孵化器源码
2369570cc8Sopenharmony_ci├─standard               # 标准系统应用孵化器源码
2469570cc8Sopenharmony_ci├─test                   # 应用孵化器组件测试源码
2569570cc8Sopenharmony_ci└─util
2669570cc8Sopenharmony_ci    ├─include            # 应用孵化器工具类头文件
2769570cc8Sopenharmony_ci    └─src                # 应用孵化器工具类源码, 含json处理库及应用沙箱实现源码
2869570cc8Sopenharmony_ci```
2969570cc8Sopenharmony_ci
3069570cc8Sopenharmony_ci## 说明
3169570cc8Sopenharmony_ci
3269570cc8Sopenharmony_ci### 小型系统
3369570cc8Sopenharmony_ci
3469570cc8Sopenharmony_ci  appspawn被init启动后,向IPC框架注册服务名称,之后等待接收进程间消息,根据消息解析结果启动应用服务并赋予其对应权限。
3569570cc8Sopenharmony_ci
3669570cc8Sopenharmony_ci  appspawn注册的服务名称为“appspawn”,在安全子系统限制规则下,目前仅Ability Manager Service有权限可以向appspawn发送的进程间消息。
3769570cc8Sopenharmony_ci
3869570cc8Sopenharmony_ci  appspawn接收的消息为json格式,如下所示:
3969570cc8Sopenharmony_ci  ```
4069570cc8Sopenharmony_ci  "{"bundleName":"testvalid1","identityID":"1234","uID":1000,"gID":1000,"capability":[0]}"
4169570cc8Sopenharmony_ci  ```
4269570cc8Sopenharmony_ci
4369570cc8Sopenharmony_ci  **表 1** 小型系统字段说明
4469570cc8Sopenharmony_ci  | 字段名 | 说明 |
4569570cc8Sopenharmony_ci  | -------- | -------- |
4669570cc8Sopenharmony_ci  | bundleName | 即将启动的应用程序包名,长度≥7字节,≤127字节。 |
4769570cc8Sopenharmony_ci  | identityID | AMS为新进程生成的标识符,由appspawn透传给新进程,长度≥1字节,≤24字节。 |
4869570cc8Sopenharmony_ci  | uID | 即将启动的应用服务进程的uID。 |
4969570cc8Sopenharmony_ci  | gID | 即将启动的应用服务进程的gID。 |
5069570cc8Sopenharmony_ci  | capability | 即将启动的应用服务进程所需的capability权限,数量≤10个。 |
5169570cc8Sopenharmony_ci
5269570cc8Sopenharmony_ci### 标准系统
5369570cc8Sopenharmony_ci  appspawn注册的服务名称为“appspawn”。appspawn 通过监听本地socket,接收来自客户端的请求消息。
5469570cc8Sopenharmony_ci
5569570cc8Sopenharmony_ci  详细使用说明参考开发指南:[appspawn应用孵化组件](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-boot-appspawn.md)
5669570cc8Sopenharmony_ci
5769570cc8Sopenharmony_ci## 限制与约束
5869570cc8Sopenharmony_ci仅支持小型系统和标准系统。
5969570cc8Sopenharmony_ci
6069570cc8Sopenharmony_ci## 相关仓
6169570cc8Sopenharmony_ci**[startup\_appspawn](https://gitee.com/openharmony/startup_appspawn)**
6269570cc8Sopenharmony_ci
6369570cc8Sopenharmony_ci[startup\_init\_lite](https://gitee.com/openharmony/startup_init_lite)
6469570cc8Sopenharmony_ci
6569570cc8Sopenharmony_ci[startup\_bootstrap\_lite](https://gitee.com/openharmony/startup_bootstrap_lite)