1# 拆包工具
2
3
4拆包工具是OpenHarmony提供的一种调测工具,支持通过命令行方式将HAP、HSP、App等文件解压成文件夹,并且提供Java接口对HAP、HSP、App等文件进行解析。
5
6
7拆包所用的app_unpacking_tool.jar,可以在本地下载的OpenHarmony的SDK库中找到。
8
9
10## 约束与限制
11
12拆包工具需要运行在Java8及其以上环境。
13
14
15## 拆包指令说明
16
17### HAP包模式拆包指令
18
19开发者可以使用拆包工具的jar包对应用进行拆包,通过传入拆包选项、文件路径,将HAP包解压出来。
20
21#### 示例
22
23```
24java -jar app_unpacking_tool.jar --mode hap --hap-path <path> --out-path <path> [--force true]
25```
26
27#### 参数含义及规范
28
29| 指令       | 是否必选项 | 选项          | 描述                                                         |
30| ---------- | ---------- | ------------- | ------------------------------------------------------------ |
31| --mode     | 是         | hap           | 拆包类型。                                                   |
32| --hap-path | 是         | NA            | HAP包路径。                                                  |
33| --rpcid    | 否         | true或者false | 是否单独将rpcid文件从HAP包中提取到指定目录,如果为true,将仅提取rpcid文件,不对HAP包进行拆包。 |
34| --out-path | 是         | NA            | 拆包目标文件路径。                                           |
35| --force    | 否         | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。  |
36
37### App包模式拆包指令
38
39开发者可以使用拆包工具的jar包对应用进行拆包,通过传入拆包选项、文件路径,将App包解压出来。
40
41#### 示例
42
43```
44java -jar app_unpacking_tool.jar --mode app --app-path <path> --out-path <path> [--force true]
45```
46
47#### 参数含义及规范
48
49| 指令       | 是否必选项 | 选项          | 描述                                                        |
50| ---------- | ---------- |-------------| ----------------------------------------------------------- |
51| --mode     | 是         | app         | 拆包类型。                                                  |
52| --app-path | 是         | NA          | App包路径。                                                 |
53| --out-path | 是         | NA          | 拆包目标文件路径。                                          |
54| --force    | 否         | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 |
55
56### 从HAP包中获取rpcid文件
57
58开发者可以使用拆包工具的jar包对应用进行拆包,通过传入拆包选项、文件路径,获取应用的rpcid。
59
60#### 示例
61
62```
63java -jar app_unpacking_tool.jar --mode hap --rpcid true --hap-path <path> --out-path <path> [--force true]
64```
65
66#### 参数含义及规范
67
68| 指令       | 是否必选项 | 选项          | 描述                                                         |
69| ---------- | ---------- | ------------- | ------------------------------------------------------------ |
70| --mode     | 是         | hap           | 拆包类型。                                                     |
71| --rpcid    | 否         | true或者false | 是否单独将rpcid文件从HAP包中提取到指定目录,如果为true,将仅提取rpcid文件,不对HAP包进行拆包。 |
72| --hap-path | 是         | NA            | HAP包路径。                                                    |
73| --out-path | 是         | NA            | 拆包rpcid目标文件路径。                                        |
74| --force    | 否         | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。  |
75
76### HSP包模式拆包指令
77
78开发者可以使用拆包工具的jar包对应用进行拆包,通过传入拆包选项、文件路径,将HSP包解压出来。
79
80#### 示例
81
82```
83java -jar app_unpacking_tool.jar --mode hsp --hsp-path <path> --out-path <path> [--force true]
84```
85
86#### 参数含义及规范
87
88| 指令         | 是否必选项 | 选项          | 描述                                 |
89|------------| ---------- | ------------- |------------------------------------|
90| --mode     | 是         | hsp           | 拆包类型。                              |
91| --hsp-path | 是         | NA            | HSP包路径。                            |
92| --out-path | 是         | NA            | 拆包目标文件路径。                          |
93| --force    | 否         | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 |
94
95### APPQF模式拆包指令
96
97开发者可以使用拆包工具的jar包对应用进行拆包,通过传入拆包选项、文件路径,将APPQF包解压出来。
98
99#### 示例
100
101```
102java -jar app_unpacking_tool.jar --mode appqf --appqf-path <path> --out-path <path> [--force true]
103```
104
105#### 参数含义及规范
106
107| 指令           | 是否必选项 | 选项          | 描述                                 |
108|--------------| ---------- |-------------|------------------------------------|
109| --mode       | 是         | appqf       | 拆包类型。                              |
110| --appqf-path | 是         | NA          | APPQF包路径。                          |
111| --out-path   | 是         | NA          | 拆包目标文件路径。                          |
112| --force      | 否         | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 |
113
114## 包解析接口
115
116包解析接口仅用于应用市场对打好的HAP、HSP、App等包进行解析,获取其中配置文件等信息。
117
118### 接口目录
119
120| 类名               | 接口原型                                                     | 类型     | 接口详细描述                                                            |
121| ------------------ | ------------------------------------------------------------ | -------- |-------------------------------------------------------------------|
122| UncompressEntrance | UncompressResult parseApp(String appPath,String parseMode,String deviceType,String hapName) | Java接口 | 接口功能:根据参数解析app包的pack.info信息 输入参数:app包路径,解析参数 返回值:UncompressResult |
123| UncompressEntrance | UncompressResult parseApp(InputStream input,String parseMode,String deviceType,String hapName,String outPath) | Java接口 | 接口功能:根据参数解析app包的pack.info信息 输入参数:app文件流,解析参数 返回值:UncompressResult |
124| UncompressEntrance | UncompressResult parseHap(String hapPath)                    | Java接口 | 接口功能:根据参数解析app包的json配置文件 输入参数:HAP包路径,解析参数 返回值:UncompressResult    |
125| UncompressEntrance | UncompressResult parseHap(InputStream input)                 | Java接口 | 接口功能:根据参数解析app包的json配置文件 输入参数:HAP包文件流,解析参数 返回值:UncompressResult   |
126
127## 拆包工具信息字段
128
129### UncompressResult(Bundle信息)结构体信息
130
131| 字段            | 类型               | 描述                                     | 备注 |
132| ----------------| ------------------ |----------------------------------------| ---- |
133| result          | boolean            | 标识此次解析是否成功                             | NA   |
134| message         | String             | 解析失败时返回失败原因                            | NA   |
135| packInfos       | List\<PackInfo>    | bundle中pack.info文件的packages信息          | NA   |
136| profileInfos    | List\<profileInfo> | 应用的配置信息                                | NA   |
137| profileInfosStr | List\<String>      | 应用的配置信息 | NA   |
138| icon            | String             | 返回入口组件的icon路径,如果没有入口组件,则返回第一个组件的icon信息 | NA   |
139| label           | String             | 返回入口组件的label,如果没有入口组件,则返回第一个组件的label信息 | NA   |
140| packageSize     | long               | 表示App包的大小,单位字节 | NA   |
141
142### PackInfo结构体信息
143
144| 字段                | 类型          | 描述                                    | 备注 |
145| ------------------- | ------------- | --------------------------------------- | ---- |
146| name                | String        | 包名                                    | NA   |
147| moduleName          | String        | HAP名称                                 | NA   |
148| moduleType          | String        | module的类型                            | NA   |
149| deviceType          | List\<String> | 表示当前HAP包所支持的设备类型           | NA   |
150| deliveryWithInstall | boolean       | 标识当前HAP是否在用户主动安装的时候安装 | NA   |
151
152### ProfileInfo结构体信息
153
154| 字段         | 类型                           | 描述                                       | 备注                                                         |
155| ------------ | ------------------------------ | ------------------------------------------ | ------------------------------------------------------------ |
156| hapName      | String                         | 标识当前解析的HAP包名称                    | NA                                                           |
157| appInfo      | AppInfo结构体(见下述AppInfo) | 标识App信息的结构体(见下述AppInfo信息)   | NA                                                           |
158| deviceConfig | Map\<String,DeviceConfig>      | 标识设备信息                               | 存储类型为Map\<String,String>,存储设备类型名称及对应设备类型的信息,在stage模型中,这个字段存储在app结构体中 |
159| hapInfo      | HapInfo结构体(见下述HapInfo) | 标识HAP包中module信息(见下述HapInfo信息) | NA                                                           |
160
161### AppInfo结构体信息
162
163| 字段                             | 类型      | 描述                                                                            | 备注          |
164|--------------------------------|---------|-------------------------------------------------------------------------------|-------------|
165| bundleName                     | String  | 标识App的包名称                                                                     | NA          |
166| vendor                         | String  | 标识App的供应商信息                                                                   | NA          |
167| relatedBundleName              | String  | 标识App相关bundle的包名                                                              | NA          |
168| versionName                    | String  | 标识App中的versionName信息                                                          | NA          |
169| versionCode                    | String  | 标识App中的versionCode信息                                                          | NA          |
170| targetApiVersion               | int     | 标识应用运行需要的API目标版本                                                              | NA          |
171| compatibleApiVersion           | int     | 标识应用兼容的API版本                                                                  | NA          |
172| appName                        | String  | 标识显示在桌面上的ability的label                                                        | NA          |
173| appNameEN                      | String  | 标识显示在桌面上的ability的label                                                        | NA          |
174| releaseType                    | String  | 标识应用运行需要的API目标版本的类型                                                           | NA          |
175| shellVersionCode               | String  | 标识应用的API版本号                                                          | NA          |
176| shellVersionName               | String  | 标识应用的API版本名称                                                          | NA          |
177| multiFrameworkBundle           | boolean | 标识应用框架                                                         | NA          |
178| debug                          | boolean | 标识应用是否可调试                                                                     | NA          |
179| icon                           | String  | 标识应用的图标路径                                                                     | NA          |
180| label                          | String  | 标识应用的label                                                                    | NA          |
181| description                    | String  | 标识应用的描述信息                                                                     | stage模型新增   |
182| minCompatibleVersionCode       | int     | 标识应用能够兼容的最低版本号                                                                | NA          |
183| distributedNotificationEnabled | boolean | 标记该应用是否开启分布式通知                                                              | stage模型新增   |
184| bundleType                     | String  | 标识bundle的类型,取值:<br/>- app:应用<br/>- atomicService:原子化服务 <br/>- shared:应用间共享库 | NA   |
185| compileSdkVersion              | String  | 标识编译该应用时使用的sdk版本                                                              | 仅限API10及以后的应用   |
186| compileSdkType                 | String  | 标识编译该应用时使用的sdk类别                                                              | 仅限API10及以后的应用   |
187| labels                         | HashMap\<String, String> | 标识多语言应用程序AppJson的标签。 | NA          |
188| descriptions                   | HashMap\<String, String> | 标识多语言应用程序AppJson的说明。 | NA          |
189
190### HapInfo结构体信息
191
192| 字段                 | 类型                                          | 描述                               | 备注                                   |
193| ---------------------|-----------------------------------------------|------------------------------------| ---------------------------------------|
194| appModel             | AppModel枚举值                                | 标识应用的框架模型<br/>- FA:FA模型<br/>- STAGE:Stage模型 | NA |
195| packageStr           | String                                        | 标识应用的包信息                    | FA模型特有             |
196| name                 | String                                        | 标识当前module的名字                | NA                 |
197| description          | String                                        | 标识HAP包的描述信息                 | FA模型特有                       |
198| supportedModes       | List\<String>                                 | 标识HAP包的支持的模式               | NA                           |
199| abilities            | List\<AbilityInfo>                            | 标识HAP包ability信息                | NA                             |
200| defPermissions       | List\<DefPermission>                          | 标识HAP包DefPermission信息          | NA                             |
201| definePermissions    | List\<DefinePermission>                       | 标识HAP包DefinePermission信息       | NA                             |
202| defPermissionsGroups | List\<DefPermissionsGroups>                   | 标识HAP包DefPermissionsGroups 信息  | NA                             |
203| distro               | Distro结构体                                  | 标识HAP包的distro信息               | NA                             |
204| reqCapabilities      | List\<String>                                 | 标识HAP包reqCapabilities信息        | NA                           |
205| deviceType           | List\<String>                                 | 标识HAP可以运行在哪类设备上         | 对应stage模型中的deviceTypes       |
206| metaData             | MetaData结构体(见下述metaData)              | 标识HAP的自定义元信息                | NA           |
207| dependencies         | List\<DependencyItem>                         | 标识HAP包DependencyItem信息         | NA                             |
208| isJs                 | boolean                                       | 标识该应用是否是js应用              | FA模型特有            |
209| reqPermissions       | list\<ReqPermission>                          | 标识应用申请的权限的集合             | 对应stage模型的requestPermissions |
210| commonEvents         | CommonEvent结构体(见下述CommonEvent)       | 标识静态事件                         | NA     |
211| shortcuts            | list\<Shortcut>                               | 标识应用的shortcuts信息              | NA                  |
212| distroFilter         | DistroFilter结构体                            | 标识应用市场按设备形态分发的信息     | NA               |
213| srcEntrance          | String                                        | 标识应用对应的入口代码路径           | stage模型新增          |
214| process              | String                                        | 标识HAP的进程名                      | stage模型新增       |
215| mainElement          | String                  | 标识HAP的入口ability名称或者extension名称 | stage模型新增,FA模型将mainAbility的值赋值给mainElement |
216| uiSyntax             | String                                        | 定义该JS Component的语法类型         | stage模型新增       |
217| pages                | List\<String>                                 | 列举JS Component中每个页面信息       | stage模型新增       |
218| extensionAbilityInfos| List\<ExtensionAbilityInfo>                   | 描述extensionAbility的配置信息       | stage模型新增        |
219| moduleAtomicService  | ModuleAtomicService结构体(见下述ModuleAtomicService) | 描述HAP的原子化服务信息          | NA              |
220| formInfos            | List\<AbilityFormInfo>                        | 描述卡片的信息                       | NA              |
221| descriptions         | HashMap\<String, String>                      | 标识HAP的说明信息                    | NA             |
222| compressedSize       | long                                          | 标识HAP包压缩后的大小,单位字节         | NA              |
223| originalSize         | long                                          | 标识HAP包的原始大小,单位字节         | NA             |
224
225### AbilityInfo结构体信息
226
227| 字段                | 类型                       | 描述                                              | 备注                        |
228|-------------------|--------------------------| ------------------------------------------------- | ------------------------------- |
229| name              | String                   | 标识当前ability的逻辑名                           | NA                              |
230| description       | String                   | 标识ability的描述                                 | NA                              |
231| descriptionRes    | String                   | 标识ability资源的描述                             | NA                              |
232| icon              | String                   | 标识ability图标                                   | NA                              |
233| iconPath          | String                   | 标识ability图标路径                               | NA                              |
234| label             | String                   | 标识ability对用户显示的名称                       | NA                              |
235| labelRes          | String                   | 标识ability对用户显示的名称资源                   | NA                              |
236| type              | String                   | 标识ability类型                                   | Stage模型下该值直接赋予page类型 |
237| formsEnabled      | boolean                  | 标识ability卡片是否使能                           | NA                              |
238| formInfo          | FormInfo结构体           | 描述卡片的信息                                    | NA                              |
239| uri               | String                   | 标识ability的uri信息                              | FA模型支持                      |
240| launchType        | String                   | 标识ability中的launcherType信息                   | NA                              |
241| orientation       | String                   | 标识ability中的orientation信息                    | NA                              |
242| visible           | boolean                  | 标识ability中的visible信息                        | NA                              |
243| grantPermission   | boolean                  | 标识ability中的grantPermission信息                | NA                              |
244| readPermission    | String                   | 标识ability中的readPermission信息                 | NA                              |
245| writePermission   | String                   | 标识ability中的writePermission信息                | NA                              |
246| uriPermissionMode | String                   | 标识ability中的uriPermissionMode信息              | NA                              |
247| uriPermissionPath | String                   | 标识ability中的uriPermissionPath信息              | NA                              |
248| directLaunch      | boolean                  | 标识ability中的directLaunch信息                   | NA                              |
249| mission           | String                   | 标识ability中的mission信息                        | NA                              |
250| targetAbility     | String                   | 标识ability中的targetAbility信息                  | NA                              |
251| multiUserShared   | boolean                  | 标识ability中的multiUserShared信息                | NA                              |
252| supportPipMode    | boolean                  | 标识ability中的supportPipMode信息                 | NA                              |
253| srcLanguage       | String                   | 标识ability中的srcLanguage信息                    | NA                              |
254| srcPath           | String                   | 标识ability中的srcPath信息                        | NA                              |
255| srcEntrance       | String                   | 标识ability中的srcEntrance信息                    | NA                              |
256| continuable       | boolean                  | 标识ability中的continuable信息                    | NA                              |
257| metaData          | MetaData结构体(见下述MetaData) | 标识ability的自定义元信息                  | NA                             |
258| configChanges     | List\<String>            | 标识ability中的configChanges信息                  | NA                              |
259| formInfos         | List\<AbilityFormInfo>   | 标识ability中的forms信息                          | NA                              |
260| permissions       | List\<String>            | 标识ability中的permissions信息                    | NA                              |
261| skills            | List\<SkillInfo>         | 标识ability中的skills信息                         | NA                              |
262| backgroundModes   | List\<String>            | 标识ability中的backgroundModes信息                | NA                              |
263| labels            | HashMap\<String, String> | 标识多语言下ability对用户显示的名称                | NA                             |
264| descriptions      | HashMap\<String, String> | 标识多语言下ability的描述                         | NA                              |
265
266### Distro结构体信息
267
268| 字段                | 类型    | 描述                                    | 备注                                                         |
269| ------------------- |---------| --------------------------------------- | ------------------------------------------------------------ |
270| moduleName          | String  | 标识当前module的名字                    | 对应Stage模型中module结构体中的moduleName字段                 |
271| moduleType          | String  | 标识当前HAP的类型                       | 对应Stage模型中module结构体中的moduleType字段                 |
272| deliveryWithInstall | boolean | 标识当前HAP是否在用户主动安装的时候安装 | 对应Stage模型中module结构体中的deliveryWithInstall字段         |
273| installationFree    | int     | 标识当前HAP是否支持免安装特性           | 对应Stage模型中module结构体中的installationFree字段,json文件中如果配置了该字段为true,返回1,配置为false,返回0,未配置返回2 |
274| virtualMachine      | String  | 标识当前HAP运行的目标虚拟机类型,供云端分发使用,如应用市场和分发中心 | 对应Stage模型中module结构体中的virtualMachine字段 |
275
276### MetaData结构体信息
277
278| 字段           | 类型                 | 描述                             | 备注                      |
279| -------------- |----------------------| -------------------------------- | ------------------------- |
280| parameters     | List\<MetaDataInfo>  | 标识Metadata的参数信息           | FA模型特有,stage模型废弃  |
281| results        | List\<MetaDataInfo>  | 标识Metadata的results信息        | FA模型特有,stage模型废弃  |
282| customizeDatas | List\<CustomizeData> | 标识Metadata的customizeDatas信息 | NA                         |
283
284### MetaDataInfo结构体信息
285
286| 字段        | 类型   | 描述                              | 备注                      |
287| ----------- | ------ | --------------------------------- | ------------------------- |
288| name        | String | 标识MetaDataInfo的name信息        | FA模型特有,stage模型废弃  |
289| description | String | 标识MetaDataInfo的description信息 | FA模型特有,stage模型废弃  |
290| type        | String | 标识MetaDataInfo的type信息        | FA模型特有,stage模型废弃  |
291
292### CustomizeData结构体信息
293
294| 字段  | 类型   | 描述                         | 备注                    |
295| ----- | ------ | ---------------------------- | ----------------------- |
296| name  | String | 标识CustomizeData的name信息  | 对应stage模型的metadata |
297| value | String | 标识CustomizeData的value信息 | 对应stage模型的metadata |
298| extra | String | 标识CustomizeData的extra信息 | 对应stage模型的metadata |
299
300### ReqPermission结构体信息
301
302| 字段      | 类型                               | 描述                                                       | 备注 |
303| --------- | ---------------------------------- |------------------------------------------------------------| ---- |
304| name      | String                             | 标识ReqPermission的名称信息                                 | NA   |
305| reason    | String                             | 当申请的权限为user_grant权限时此字段必填,描述申请权限的原因 | NA   |
306| usedScene | UsedScene结构体(见下述UsedScene) | 描述权限使用的场景和时机。场景类型有:ability、调用时机(when),可配置多个ability | NA   |
307| reasons   | HashMap\<String, String>           | 当申请的权限为user_grant权限时此字段必填,描述申请权限的原因 | NA    |
308
309### UsedScene结构体信息
310
311| 字段    | 类型          | 描述                                                         | 备注 |
312| ------- | ------------- | ------------------------------------------------------------ | ---- |
313| ability | List\<String> | 标识需要使用到该权限的元能力(ability),该标签值为数组形式   | NA   |
314| when    | String        | 标识使用该权限的时机,值为inuse/always,表示为仅允许前台使用和前后台都可使用 | NA   |
315
316### Shortcut结构体信息
317
318| 字段       | 类型                   | 描述                                                         | 备注 |
319| ---------- | ---------------------- | :----------------------------------------------------------- | ---- |
320| shortcutId | String                 | 标识ShortCut的Id                                             | NA   |
321| label      | String                 | 标识ShortCut的标签信息                                       | NA   |
322| icon       | String                 | 标识ShortCut的图标信息                                       | NA   |
323| intents    | List\<IntentInfo>      | 标识快捷方式内定义的目标intent信息集合,每个intent可配置两个子标签,targetClass,targetBundle | NA   |
324| labels     | HashMap\<String, String> | 标识多语言下ShortCut对用户显示的名称                        | NA   |
325
326### IntentInfo结构体信息
327
328| 字段         | 类型   | 描述             | 备注 |
329| ------------ | ------ | ---------------- | ---- |
330| targetClass  | String | 快捷方式目标类型 | NA   |
331| targetBundle | String | 快捷方式目标包名 | NA   |
332
333### DistroFilter结构体信息
334
335| 字段          | 类型                | 描述                                  | 备注 |
336| ------------- | ------------------- | ------------------------------------- | ---- |
337| apiVersion    | ApiVersion结构体    | 标识DistroFilter中的apiVersion信息    | NA   |
338| screenShape   | ScreenShape结构体   | 标识DistroFilter中的screenShape信息   | NA   |
339| screenDensity | ScreenDensity结构体 | 标识DistroFilter中的screenDensity信息 | NA   |
340| screenWindow  | ScreenWindow结构体  | 标识DistroFilter中的screenWindow信息  | NA   |
341| countryCode   | CountryCode结构体   | 标识DistroFilter中的countryCode信息   | NA   |
342
343### ApiVersion结构体信息
344
345| 字段   | 类型          | 描述                     | 备注 |
346| ------ | ------------- | ------------------------ | ---- |
347| policy | String        | 标识结构体中的policy信息 | NA   |
348| value  | List\<String> | 标识结构体中的value信息  | NA   |
349
350### ScreenShape结构体信息
351
352| 字段   | 类型          | 描述                     | 备注 |
353| ------ | ------------- | ------------------------ | ---- |
354| policy | String        | 标识结构体中的policy信息 | NA   |
355| value  | List\<String> | 标识结构体中的value信息  | NA   |
356
357### ScreenDensity结构体信息
358
359| 字段   | 类型          | 描述                     | 备注 |
360| ------ | ------------- | ------------------------ | ---- |
361| policy | String        | 标识结构体中的policy信息 | NA   |
362| value  | List\<String> | 标识结构体中的value信息  | NA   |
363
364### ScreenWindow结构体信息
365
366| 字段   | 类型          | 描述                     | 备注 |
367| ------ | ------------- | ------------------------ | ---- |
368| policy | String        | 标识结构体中的policy信息 | NA   |
369| value  | List\<String> | 标识结构体中的value信息  | NA   |
370
371### CountryCode结构体信息
372
373| 字段   | 类型          | 描述                     | 备注 |
374| ------ | ------------- | ------------------------ | ---- |
375| policy | String        | 标识结构体中的policy信息 | NA   |
376| value  | List\<String> | 标识结构体中的value信息  | NA   |
377
378### ExtensionAbilityInfo结构体信息
379
380| 字段            | 类型                     | 描述                                                  | 备注                                |
381| --------------- | ------------------------ | ----------------------------------------------------- | ----------------------------------- |
382| name            | String                   | 标识当前extensionAbility的逻辑名                      | stage模型支持                      |
383| srcEntrance     | String                   | 标识extensionAbility所对应的js代码路径                | stage模型支持                      |
384| icon            | String                   | 标签标识extensionAbility图标                          | stage模型支持                      |
385| label           | String                   | 标识extensionAbility对用户显示的名称                  | stage模型支持                      |
386| description     | String                   | 标识extensionAbility的描述                            | stage模型支持                      |
387| type            | String                   | 标识extensionAbility的类型:form、workScheduler、inputMethod、service、accessibility、dataShare、fileShare、wallpaper、backup | stage模型支持,目前仅解析了form、staticSubscriber的信息、其他类型(如:workScheduler、inputMethod、service、accessibility、dataShare、fileShare、wallpaper、backup)暂未解析        |
388| permissions     | List\<String>            | 标识被其它应用的ability调用时需要申请的权限的集合       | stage模型支持                      |
389| readPermission  | String                   | 标识读取ability的数据所需的权限                         | stage模型支持                    |
390| writePermission | String                   | 标识向ability写数据所需的权限                           | stage模型支持                   |
391| visible         | boolean                  | 标识extensionAbility是否可以被其它应用调用              | stage模型支持                   |
392| skills          | List\<SkillInfo>         | 标识extensionAbility能够接收的意图的特征集              | stage模型支持                    |
393| metadataInfos   | List\<ModuleMetadataInfo>| 标识extensionAbility能够接收的元数据信息                | stage模型支持                    |
394| metadata        | MetaData结构体           | 标识extensionAbility的元信息                            | 将metadata中的信息赋值到CustomizeData中 |
395| uri             | String                   | 标识extensionAbility提供的数据uri                       | stage模型支持                           |
396| descriptions    | HashMap\<String, String> | 标识多语言下extensionAbility的描述                      | NA                              |
397| labels          | HashMap\<String, String> | 标识多语言下extensionAbility对用户显示的名称            | NA                             |
398
399### SkillInfo结构体信息
400
401| 字段     | 类型                | 描述                   | 备注 |
402| -------- | ------------------- |----------------------| ---- |
403| actions  | List\<String>       | 标识能够接收的意图的action值的集合 | NA   |
404| entities | List\<String>       | 标识能够接收的意图的元能力的类别集合   | NA   |
405
406### UriInfo结构体信息
407
408| 字段          | 类型   | 描述                     | 备注 |
409| ------------- | ------ |------------------------| ---- |
410| schema        | String | 标识ModuleUriInfo的范式信息   | NA   |
411| host          | String | 标识ModuleUriInfo的宿主信息   | NA   |
412| port          | String | 标识ModuleUriInfo的端口信息   | NA   |
413| pathStartWith | String | 标识ModuleUriInfo的路径前缀   | NA   |
414| pathRegex     | String | 标识ModuleUriInfo的路径正则信息 | NA   |
415| path          | String | 标识ModuleUriInfo的路径信息   | NA   |
416| type          | String | 标识ModuleUriInfo的种类     | NA   |
417
418### AbilityFormInfo结构体信息
419
420| 字段                | 类型                     | 描述                                                         | 备注        |
421| ------------------- | -------------------------| ------------------------------------------------------------ |-----------|
422| name                | String                   | 标识forms的名称                                              | NA        |
423| type                | String                   | 标签标识卡片的类型                                           | NA        |
424| updateEnabled       | boolean                  | 标识该卡片是否支持定时刷新                                   | NA        |
425| scheduledUpdateTime | String                   | 标签标识卡片顶点刷新的时间,采用24小时计数,精确到分钟       | NA        |
426| updateDuration      | int                      | 标识卡片定时刷新的更新频率,单位为30分钟,取值为30的倍数值   | NA        |
427| supportDimensions   | List\<String>            | 标识卡片外观规格,取值为”1 * 2“,”2 * 2“,”2 * 4“,”4 * 4“   | NA        |
428| defaultDimension    | String                   | 标识卡片默认外观规格,取值必须在supportDimensions配置的列表中 | NA        |
429| MetaData            | MetaData                 | 标识卡片的自定义信息                                         | NA        |
430| description         | String                   | 标识forms的描述                                              | stage模型新增 |
431| src                 | String                   | 标签JS卡片对应的UI代码                                       | NA        |
432| windowInfo          | ModuleWindowInfo结构体   | 标签能力窗体的窗口。                                       | NA        |
433| isDefault           | boolean                  | 标识该卡片是否为默认卡片,每个HAP有且只能有一个默认卡片      | NA        |
434| colorMode           | String                   | 标识卡片的色调,取值为auto、dark、light其中之一              | NA        |
435| formConfigAbility   | String                   | 标识卡片调整的Ability名称                                    | NA        |
436| formVisibleNotify   | String                   | 标识卡片是否被允许使用卡片可见性通知                         | NA        |
437| providerAbility     | String                   | 卡片的提供方所在的Ability或者extension名称,1.FA模型:如果卡片配置在service类型的ability中,providerAbility配置为mainAbility 2.FA模型:如果卡片配置在Page类型的Ability中,providerAbility配置为当前Ability 3.FA模型:如果没有配置mainAbility,providerAbility配置为当前HAP包中的优先使用system.home,否则第一个page的Ability 4.stage模型中(follow上述规则),providerAbility配置为mainElement | NA |
438| descriptions        | HashMap\<String, String> | 标识多语言下ability的描述                                     | NA     |
439
440
441### CommonEvent结构体信息
442
443| 字段       | 类型          | 描述                                   | 备注                                             |
444| ---------- | ------------- | -------------------------------------- | ------------------------------------------------ |
445| name       | String        | 当前静态公共事件对应的类名             | Stage模型从staticSubscriber类型的Extension中获取 |
446| permission | String        | 标识实现该静态公共事件需要申请的权限   | Stage模型从staticSubscriber类型的Extension中获取 |
447| data       | List\<String> | 当前静态公共时间需要携带的额外数据数组 | Stage模型从staticSubscriber类型的Extension中获取 |
448| type       | List\<String> | 配置当前静态公共时间的类别数组         | Stage模型从staticSubscriber类型的Extension中获取 |
449| events     | List\<String> | 标识能够接收的意图的event值的集合      | Stage模型从staticSubscriber类型的Extension中获取 |
450
451### DependencyItem结构体信息
452
453| 字段           | 类型   | 描述           | 备注 |
454|--------------| ------ |--------------| ---- |
455| bundleName   | String | 共享包的bundleName | NA   |
456| moduleName   | String | 共享包的moduleName | NA   |
457| versionCode  | String | 共享包的版本号      | NA   |
458
459### ModuleAtomicService结构体信息
460
461| 字段         | 类型                   | 描述           | 备注 |
462|--------------|------------------------|----------------| ---- |
463| preloadItems | list\<PreloadItem>     | 预加载对象     | NA   |
464
465### PreloadItem结构体信息
466
467| 字段         | 类型   | 描述           | 备注 |
468|--------------|--------|----------------| ---- |
469| moduleName   | String | 预加载的模块名 | NA   |
470
471### DeviceConfig结构体信息
472
473| 字段                           | 类型    | 描述                                     | 备注 |
474|--------------------------------|-------- |------------------------------------------| ---- |
475| targetReqSdk                   | String  | 标识应用程序DeviceConfig的目标请求Sdk版本  | NA   |
476| compatibleReqSdk               | String  | 标识应用程序DeviceConfig的兼容请求Sdk版本  | NA   |
477| jointUserid                    | String  | 标识应用程序DeviceConfig的jointUserid      | NA   |
478| process                        | String  | 标识应用程序DeviceConfig的进程             | NA   |
479| arkFlag                        | String  | 标识应用程序DeviceConfig的arkFlag          | NA   |
480| targetArkVersion               | String  | 标识应用程序DeviceConfig的targetArkVersion | NA   |
481| compatibleArkVersion           | String  | 标识应用程序DeviceConfig的兼容ArkVersion   | NA   |
482| directLaunch                   | boolean | 标识应用程序DeviceConfig的直接启动         | NA   |
483| distributedNotificationEnabled | boolean | 标识应用程序AppJson的distributedNotificationEnabled | NA   |
484
485### DefPermission结构体信息
486
487| 字段           | 类型                     | 描述                                      | 备注 |
488|----------------|--------------------------|-------------------------------------------| ---- |
489| name           | String                   | 标识指示DefPermission的名称               | NA   |
490| grantMode      | String                   | 标识DefPermission的grantMode              | NA   |
491| group          | String                   | 标识DefPermission的组                     | NA   |
492| label          | String                   | 标识DefPermission的标签                   | NA   |
493| description    | String                   | 标识DefPermission的描述                   | NA   |
494| availableScope | List\<String>            | 标识DefPermission的可用范围               | NA   |
495| labels         | HashMap\<String, String> | 标识多语言应用程序DefPermission的标签     | NA   |
496| descriptions   | HashMap\<String, String> | 标识多语言应用程序DefPermission的说明     | NA   |
497
498### DefinePermission结构体信息
499
500| 字段                   | 类型                     | 描述                                               | 备注 |
501|------------------------|--------------------------|----------------------------------------------------| ---- |
502| name                   | String                   | 标识DefinePermission的名称                         | NA   |
503| grantMode              | String                   | 标识DefinePermission的grantMode                        | NA   |
504| availableLevel         | String                   | 标识DefinePermission的组                               | NA   |
505| provisionEnable        | boolean                  | 标识模块定义权限的提供启用                           | NA   |
506| distributedSceneEnable | boolean                  | 标识ModuleDefinePermissions的distributedSceneEnable | NA   |
507| label                  | String                   | 标识DefinePermission的标签                              | NA   |
508| description            | String                   | 标识DefinePermission的描述                              | NA   |
509| descriptions           | HashMap\<String, String> | 标识多语言应用程序DefinePermission的说明                | NA   |
510| labels                 | HashMap\<String, String> | 标识多语言应用程序DefinePermission的标签                | NA   |
511
512### DefPermissionsGroups结构体信息
513
514| 字段        | 类型    | 描述                         | 备注 |
515|-------------|---------|------------------------------| ---- |
516| name        | String  | 标识DefPermissionGroup的名称 | NA   |
517| order       | String  | 标识DefPermissionGrou的顺序  | NA   |
518| icon        | String  | 标识DefPermissionGroup的图标 | NA   |
519| label       | String  | 标识DefPermissionGroup的标签 | NA   |
520| description | String  | 标识DefPermissionGroup的描述 | NA   |
521| request     | boolean | 标识DefPermissionGroup的请求 | NA   |
522
523### FormInfo结构体信息
524
525| 字段          | 类型          | 描述                     | 备注 |
526|---------------|---------------|--------------------------| ---- |
527| formEntity    | List\<String> | 标识formInfo的formEntity | NA   |
528| minHeight     | String        | 标识formInfo的最小高度   | NA   |
529| defaultHeight | String        | 标识formInfo的默认高度   | NA   |
530| minWidth      | String        | 标识formInfo的最小宽度   | NA   |
531| defaultWidth  | String        | 标识formInfo的默认宽度   | NA   |
532
533### ModuleMetadataInfo结构体信息
534
535| 字段     | 类型    | 描述                         | 备注 |
536|----------|---------|------------------------------| ---- |
537| name     | String  | 标识ModuleMetadataInfo的名称 | NA   |
538| value    | String  | 标识ModuleMetadataInfo的值   | NA   |
539| resource | String  | 标识ModuleMetadataInfo的资源 | NA   |
540
541### ModuleWindowInfo结构体信息
542
543| 字段            | 类型    | 描述                                | 备注 |
544|-----------------|---------|-------------------------------------| ---- |
545| designWidth     | int     | 标识模块已用场景的设计宽度           | NA   |
546| autoDesignWidth | boolean | 标识ModuleUsedScene的autoDesignWidth | NA   |