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