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