1# 打包拆包工具使用说明 2 3## 简介 4 5packing_tool子系统用于生成打包工具和拆包工具,其中打包工具用于hap,app,hqf,appqf,hsp包的生成,拆包工具用于对hap,app,hqf,appqf,har,hsp包的拆包及对hap,hsp,app,appqf的解析。具体的功能介绍如下: 6 7打包工具子系统架构图如下: 8 9 10 11## 1. 打包指令说明 12 13### 1.1 hap包模式打包指令 14 15#### 1.1.1 示例 16 17- Stage模型的打包命令示例: 18 19 20``` 21java -jar app_packing_tool.jar --mode hap --json-path <option> --resources-path <option> --ets-path <option> --index-path <option> --pack-info-path <option> --out-path path\out\srcEntrance.hap --force true --compress-level 5 --pkg-context-path <option> 22``` 23 24- FA模型的打包命令示例: 25 26 27``` 28java -jar app_packing_tool.jar --mode hap --json-path <option> --maple-so-path [option] --profile-path [option] --maple-so-dir [option] --dex-path [option] --lib-path [option] --resources-path [option] --index-path [option] --out-path <option> --force [option] --compress-level 5 29``` 30 31#### 1.1.2 参数含义及规范 32 33| 指令 | 是否必选项 | 选项 | 描述 | 备注 | 34|------------------|-------|----------------------|-----------------------------------------------------------|------------| 35| --mode | 是 | hap | 打包类型。 | NA | 36| --json-path | 是 | NA | .json文件路径,FA模型文件名必须为config.json;stage模型文件名必须为module.json。 | NA | 37| --profile-path | 否 | NA | CAPABILITY.profile文件路径。 | NA | 38| --maple-so-path | 否 | NA | maple so文件输入路径,so文件路径,文件名必须以.so为后缀。如果是多个so需要用“,”分隔。 | NA | 39| --maple-so-dir | 否 | NA | maple so目录输入路径。 | NA | 40| --dex-path | 否 | NA | 1.dex文件路径,文件名必须以.dex为后缀。如果是多个dex需要用“,”分隔。2.dex文件路径也可以为目录。 | NA | 41| --lib-path | 否 | NA | lib库文件路径。 | NA | 42| --resources-path | 否 | NA | resources资源包路径。 | NA | 43| --index-path | 否 | NA | .index文件路径,文件名必须为resources.index。 | NA | 44| --pack-info-path | 否 | NA | pack.info文件路径,文件名必须为pack.info。 | NA | 45| --rpcid-path | 否 | NA | rpcid.sc文件路径,文件名必须为rpcid.sc。 | NA | 46| --js-path | 否 | NA | 存放js文件目录路径。 | 仅stage模型生效 | 47| --ets-path | 否 | NA | 存放ets文件目录路径。 | 仅stage模型生效 | 48| --out-path | 是 | NA | 目标文件路径,文件名必须以.hap为后缀。 | NA | 49| --force | 否 | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 | NA | 50| --an-path | 否 | NA | 存放an文件的路径。 | 仅stage模型生效 | 51| --ap-path | 否 | NA | 存放ap文件的路径。 | 仅stage模型生效 | 52| --dir-list | 否 | NA | 可指定目标文件夹列表,将其打入hap包内。 | NA | 53| --compress-level | 否 | number | 压缩等级,默认值1,可选等级1-9。在应用配置compressNativeLibs参数为true的情况下生效,数值越大压缩率越高、压缩速度越慢。 | NA | 54| --pkg-context-path | 否 | NA | 可指定语境信息表文件路径,文件名必须为pkgContextInfo.json。 | 仅stage模型生效 | 55| --hnp-path | 否 | NA | 指定native软件包文件路径,将native软件包打入hap包内。 | NA | 56 57### 1.2 res模式打包指令 58 59#### 1.2.1 示例 60 61``` 62java -jar app_packing_tool.jar --mode res --entrycard-path [option] --pack-info-path [option] --out-path [option] --force [option] 63``` 64 65#### 1.2.2 参数含义及规范 66 67| 指令 | 是否必选项 | 选项 | 描述 | 68|------------------|-------|---------------|------------------------------------| 69| --mode | 是 | res | 命令类型。 | 70| --entrycard-path | 是 | NA | 快照目录的路径。 | 71| --pack-info-path | 是 | NA | pack.info文件路径,包含卡片信息。 | 72| --out-path | 是 | NA | 目标文件路径,文件名必须以.res为后缀。 | 73| --force | 否 | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 | 74 75### 1.3 app包模式打包指令 76 77#### 1.3.1 示例 78 79``` 80java -jar app_packing_tool.jar --mode app [--hap-path <path>] [--hsp-path <path>] --out-path <path> [--signature-path <path>] [--certificate-path <path>] [--pack-info-path <path>] --force <option> [--encrypt-path <path>] [--pac-json-path <path>] 81``` 82 83#### 1.3.2 参数含义及规范 84 85| 指令 | 是否必选项 | 选项 | 描述 | 86|--------------------|-------|-------------|--------------------------------------------------------------| 87| --mode | 是 | app | 多个hap需满足hap的合法性校验。 | 88| --hap-path | 否 | NA | 1.hap包文件路径,文件名必须以.hap为后缀。如果时多个hap包需要用“,”分隔。2.hap包文件路径也可以是目录。 | 89| --hsp-path | 否 | NA | 1.hsp包文件路径,文件名必须以.hsp为后缀。如果时多个hsp包需要用“,”分隔。2.hsp包文件路径也可以是目录。 | 90| --pack-info-path | 是 | NA | 文件名必须为pack.info。 | 91| --out-path | 是 | NA | 目标文件路径,文件名必须以.app为后缀。 | 92| --signature-path | 否 | NA | 签名路径。 | 93| --certificate-path | 否 | NA | 证书路径。 | 94| --pack-res-path | 否 | NA | 打包res的目标文件路径,文件名需要为pack.res。 | 95| --force | 否 | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 | 96| --encrypt-path | 否 | NA | 文件名必须为encrypt.json。 | 97| --pac-json-path | 否 | NA | 文件名必须为pac.json。 | 98 99#### 1.3.3 打包app时hap的合法性校验 100 101在打包生成App包时,需要保证被打包的每个HAP和HSP在pack.info/module.json文件中配置的bundleName、bundleType、versionCode、debug相同,moduleName唯一。所有HAP的minCompatibleVersionCode、targetAPIVersion、minAPIVersion保持一致,且分别不低于所有HSP对应字段的最大值。 102 103从API version 12开始,App打包不再对versionName校验。 104在API version 16之前,App打包时要求所有HAP/HSP的minCompatibleVersionCode、targetAPIVersion一致。 105在API version 20之前,App打包时要求所有HAP/HSP的minAPIVersion一致。 106#### 1.3.4 打包app时的压缩规则 107 108打包app时,对release模式的hap、hsp包会进行压缩,对debug模式的hap、hsp包不会压缩。 109 110### 1.4 多工程打包 111 112#### 1.4.1 示例 113 114``` 115java -jar app_packing_tool.jar --mode multiApp --hap-list <1.hap,2.hap> --hsp-list <1.hsp,2.hsp> --app-list <1.app,2.app> --out-path <final.app> [--encrypt-path <path>] [--pac-json-path <path>] 116``` 117 118#### 1.4.2 参数含义及规范 119 120| 指令 | 是否必选项 | 选项 | 描述 | 121|----------------|-------|-----------------|---------------------------------------------------------------------------------------------------| 122| --mode | 是 | multiApp | 打包类型,在将多个hap打入同一个app时,需保证每个hap满足合法性校验规则。 | 123| --hap-list | 否 | hap的路径 | 1.hap包文件路径,文件名必须以.hap为后缀。如果是多个hap包需要”,“分隔。2.hap文件路径也可以是目录。 | 124| --hsp-list | 否 | hsp的路径 | 1.hsp包文件路径,文件名必须以.hsp为后缀。如果是多个hsp包需要”,“分隔。2.hsp文件路径也可以是目录。 | 125| --app-list | 否 | app的路径 | 1.app文件路径,文件名必须以.app为后缀。如果是多个app包需要用”,“分隔。2.app文件路径也可以是目录。3.--hap-list,--hsp-list,--app-list不可以都不传。 | 126| --out-path | 是 | NA | 目标文件路径,文件名必须以.app为后缀。 | 127| --force | 否 | 默认值为false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 | 128| --encrypt-path | 否 | encrypt.json的路径 | 文件名必须为encrypt.json。 | 129| --pac-json-path | 否 | NA | 文件名必须为pac.json。最终app产物中pac.json文件只来源于该参数,不配置的话,最终app产物不包含该文件。--app-list参数指定的app包中的pac.json不会打包进最终app。 | 130 131#### 1.4.3 多工程打包hap合法性校验 132 133在打包生成App包时,需要保证被打包的每个HAP和HSP在pack.info/module.json文件中配置的bundleName、bundleType、versionCode、debug相同,moduleName唯一。 134 135从API version 12开始,多工程打包不再对versionName校验。 136在API version 16之前,App打包时要求所有HAP/HSP的minCompatibleVersionCode、targetAPIVersion一致。 137在API version 20之前,App打包时要求所有HAP/HSP的minAPIVersion一致。 138### 1.5 hqf模式打包指令 139 140#### 1.5.1 示例 141 142``` 143java -jar app_packing_tool.jar --mode hqf --json-path <option> --lib-path <option> --ets-path <option> --resources-path <option> --out-path <option> 144``` 145 146#### 1.5.2 参数含义及规范 147 148| 指令 | 是否必选项 | 选项 | 描述 | 149|-------------|-------|-------------|------------------------------------| 150| --mode | 是 | hqf | 打包类型。 | 151| --json-path | 是 | NA | .json文件路径,文件名必须为patch.json。 | 152| --lib-path | 否 | NA | lib库文件的路径。 | 153| --ets-path | 否 | NA | 存放ets文件目录路径。 | 154| --resources-path | 否 | NA | resources资源包路径。 | 155| --out-path | 是 | NA | 目标文件路径,文件名必须以.hqf为后缀。 | 156| --force | 否 | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 | 157 158### 1.6 appqf模式打包指令 159 160#### 1.6.1 示例 161 162``` 163java -jar app_packing_tool.jar --mode appqf --hqf-list <option> --out-path <option> 164``` 165 166#### 1.6.2 参数含义及规范 167 168| 指令 | 是否必选项 | 选项 | 描述 | 169|------------|-------|-------------|------------------------------------| 170| --mode | 是 | appqf | 打包类型。 | 171| --hqf-list | 是 | NA | hqf文件路径,多个hqf以英文逗号隔开。 | 172| --out-path | 是 | NA | 目标文件路径,文件名必须以.appqf为后缀。 | 173| --force | 否 | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 | 174 175 176### 1.7 hsp模式打包指令 177 178#### 1.7.1 示例 179``` 180java -jar path\app_packing_tool.jar --mode hsp --json-path <option> --resources-path <option> --ets-path <option> --index-path <option> --pack-info-path <option> --out-path path\out\library.hsp --force true --compress-level 5 --pkg-context-path <option> 181``` 182 183#### 1.7.2 参数含义及规范 184 185| 指令 | 是否必选项 | 选项 | 描述 | 186|------------------|-------|----------------------|-----------------------------------------------------------| 187| --mode | 是 | hsp | 打包类型。 | 188| --json-path | 是 | NA | .json文件路径,文件名必须为module.json。 | 189| --profile-path | 否 | NA | CAPABILITY.profile文件路径。 | 190| --dex-path | 否 | NA | 1.dex文件路径,文件名必须以.dex为后缀。如果是多个dex需要用“,”分隔。2.dex文件路径也可以为目录。 | 191| --lib-path | 否 | NA | lib库文件路径。 | 192| --resources-path | 否 | NA | resources资源包路径。 | 193| --index-path | 否 | NA | .index文件路径,文件名必须为resources.index。 | 194| --pack-info-path | 否 | NA | pack.info文件路径,文件名必须为pack.info。 | 195| --js-path | 否 | NA | 存放js文件目录路径。 | 196| --ets-path | 否 | NA | 存放ets文件目录路径。 | 197| --out-path | 是 | NA | 目标文件路径,文件名必须以.hsp为后缀。 | 198| --force | 否 | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 | 199| --an-path | 否 | NA | 存放an文件的路径。 | 200| --ap-path | 否 | NA | 存放ap文件的路径。 | 201| --dir-list | 否 | NA | 可指定目标文件夹列表,将其打入hap包内 | 202| --compress-level | 否 | number | 压缩等级,默认值1,可选等级1-9。在应用配置compressNativeLibs参数为true的情况下生效,数值越大压缩率越高、压缩速度越慢。 | 203| --pkg-context-path | 否 | NA | 可指定语境信息表文件路径,文件名必须为pkgContextInfo.json。 | 204 205### 1.8 versionNormalize模式指令 206 207如果一个应用由多个团队开发,当只有一个hap或hsp需要修改升级时,可以调用此命令,将多个hap、hsp的版本统一。本命令会修改所传入的hap、hsp的版本号和版本名称,并在指定目录生成修改后的同名hap、hsp,以及一个version_record.json文件,用于记录所有hap、hsp原有的版本号、版本名称。 208 209#### 1.8.1 示例 210``` 211java -jar path\app_packing_tool.jar --mode versionNormalize --input-list 1.hap,2.hsp --version-code 1000001 --version-name 1.0.1 --out-path path\out\ 212``` 213 214#### 1.8.2 参数含义及规范 215 216| 指令 | 是否必选项 | 选项 | 描述 | 217|----------------|-------|------------------|-------------------------------------------------------------------| 218| --mode | 是 | versionNormalize | 命令类型。 | 219| --input-list | 是 | hap或hsp的路径 | 1.hap或hsp包文件路径,文件名必须以.hap或.hsp为后缀。如果是多个hap包需要”,“分隔。2.hap包或hsp包目录。 | 220| --version-code | 是 | 版本号 | 指定的版本号,hap、hsp的版本号会被修改为该版本。需要为整数,且不小于所有传入的hap、hsp的版本号。 | 221| --version-name | 是 | 版本名称 | 指定的版本名称,hap、hsp的版本名称会被修改为该版本名称。 | 222| --out-path | 是 | NA | 目标文件路径,需要为一个目录。 | 223 224### 1.9 packageNormalize模式指令 225 226可以调用此命令,将集成态HSP的包名和版本号设置成应用侧的包名和版本号,并在指定目录生成修改后的同名HSP。 227 228#### 1.9.1 示例 229``` 230java -jar path\app_packing_tool.jar --mode packageNormalize --hsp-list path\1.hsp,path\2.hsp --bundle-name com.example.myapplication --version-code 1000001 --out-path path\out\ 231``` 232 233#### 1.9.2 参数含义及规范 234 235| 指令 | 是否必选项 | 选项 | 描述 | 236|----------------|-------|------------------|-----------------------------------------------------| 237| --mode | 是 | packageNormalize | 命令类型。 | 238| --hsp-list | 是 | HSP的路径 | 1.HSP包文件路径,文件名必须以.hsp为后缀。如果是多个HSP包需要”,“分隔。2.HSP包目录。 | 239| --bundle-name | 是 | 包名 | 指定的包名,HSP的包名会被修改为指定的包名。 | 240| --version-code | 是 | 版本号 | 指定的版本号,HSP的版本号会被修改为该版本号。需要为整数,且大于0。 | 241| --out-path | 是 | NA | 目标文件路径,需要为一个目录。 | 242 243### 1.10 fastApp模式打包指令 244 245#### 1.10.1 示例 246 247``` 248java -jar app_packing_tool.jar --mode fastApp --hap-path <option> --hsp-path <option> --out-path [option] --signature-path [option] --certificate-path [option] --pack-info-path [option] --force [option] [--pac-json-path <path>] 249``` 250 251#### 1.10.2 参数含义及规范 252 253| 指令 | 是否必选项 | 选项 | 描述 | 254|--------------------|-------|-------------|-------------------------------------------------------------------------------------------------------| 255| --mode | 是 | fastApp | 多个hap需满足hap的合法性校验。 | 256| --hap-path | 否 | NA | hap包文件目录路径,目录内要包含一个完整的hap包的所有文件。允许传入多个路径,多个路径需要用英文“,”分隔。 | 257| --hsp-path | 否 | NA | 1.hsp包文件路径,文件名必须以.hsp为后缀。如果时多个hsp包需要用“,”分隔。2.hsp包文件目录路径,目录内要包含一个完整的hsp包的所有文件。允许传入多个路径,多个路径需要用英文“,”分隔。 | 258| --pack-info-path | 是 | NA | 文件名必须为pack.info。 | 259| --out-path | 是 | NA | 目标文件路径,文件名必须以.app为后缀。 | 260| --signature-path | 否 | NA | 签名路径。 | 261| --certificate-path | 否 | NA | 证书路径。 | 262| --pack-res-path | 否 | NA | 打包res的目标文件路径,文件名需要为pack.res。 | 263| --force | 否 | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 | 264| --encrypt-path | 否 | NA | 文件名必须为encrypt.json。 | 265| --pac-json-path | 否 | NA | 文件名必须为pac.json。 | 266 267#### 1.10.3 打包app时hap、hsp的合法性校验 268 269在打包生成App包时,需要保证被打包的每个HAP和HSP在pack.info/module.json文件中配置的bundleName、bundleType、versionCode、debug相同,moduleName唯一。所有HAP的minCompatibleVersionCode、targetAPIVersion、minAPIVersion保持一致,且分别不低于所有HSP对应字段的最大值。 270 271在API version 16之前,App打包时要求所有HAP/HSP的minCompatibleVersionCode、targetAPIVersion一致。 272在API version 20之前,App打包时要求所有HAP/HSP的minAPIVersion一致。 273## 2. 拆包指令说明 274 275### 2.1 hap包模式拆包指令 276 277#### 2.1.1 示例 278 279``` 280java -jar app_unpacking_tool.jar --mode <option> --hap-path <options> --out-path [option] --force [option] 281``` 282 283#### 2.1.2 参数含义及规范 284 285| 指令 | 是否必选项 | 选项 | 描述 | 286| ---------- | ---------- | ------------- | ------------------------------------------------------------ | 287| --mode | 是 | hap | 拆包类型。 | 288| --hap-path | 是 | NA | hap包路径。 | 289| --rpcid | 否 | true或者false | 是否单独将rpcid文件从hap包中提取到指定目录,如果为true,将仅提取rpcid文件,不对hap包进行拆包。 | 290| --out-path | 是 | NA | 拆包目标文件路径。 | 291| --force | 否 | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 | 292 293### 2.2 har包模式拆包指令 294 295#### 2.2.1 示例 296 297``` 298java -jar app_unpacking_tool.jar --mode <options> --har-path <option> --out-path [option] --force [option] 299``` 300 301#### 2.2.2 参数含义及规范 302 303| 指令 | 是否必选项 | 选项 | 描述 | 304| ---------- | ---------- |-------------| ----------------------------------------------------------- | 305| --mode | 是 | har | 拆包类型。 | 306| --har-path | 是 | NA | har包路径。 | 307| --out-path | 是 | NA | 拆包目标文件路径。 | 308| --force | 否 | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 | 309 310### 2.3 app包模式拆包指令 311 312#### 2.3.1 示例 313 314``` 315java -jar app_unpacking_tool.jar --mode <options> --app-path <option> --out-path [option] --force [option] 316``` 317 318#### 2.3.2 参数含义及规范 319 320| 指令 | 是否必选项 | 选项 | 描述 | 321| ---------- | ---------- |-------------| ----------------------------------------------------------- | 322| --mode | 是 | app | 拆包类型。 | 323| --app-path | 是 | NA | app包路径。 | 324| --out-path | 是 | NA | 拆包目标文件路径。 | 325| --force | 否 | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 | 326 327### 2.4 从hap包中获取rpcid文件 328 329#### 2.4.1 示例 330 331``` 332java -jar app_unpacking_tool.jar --mode hap --rpcid true --hap-path <option> --out-path <option> --force true 333``` 334 335#### 2.4.2 参数含义及规范 336 337| 指令 | 是否必选项 | 选项 | 描述 | 338| ---------- | ---------- | ------------- | ------------------------------------------------------------ | 339| --mode | 是 | hap | 拆包类型 | 340| --rpcid | 否 | true或者false | 是否单独将rpcid文件从hap包中提取到指定目录,如果为true,将仅提取rpcid文件,不对hap包进行拆包。 | 341| --hap-path | 是 | NA | hap包路径 | 342| --out-path | 是 | NA | 拆包rpcid目标文件路径 | 343| --force | 否 | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 | 344 345### 2.5 hsp包模式拆包指令 346 347#### 2.5.1 示例 348 349``` 350java -jar app_unpacking_tool.jar --mode <option> --hsp-path <options> --out-path [option] --force [option] 351``` 352 353#### 2.5.2 参数含义及规范 354 355| 指令 | 是否必选项 | 选项 | 描述 | 356|------------| ---------- |-------------|------------------------------------| 357| --mode | 是 | hsp | 拆包类型。 | 358| --hsp-path | 是 | NA | hsp包路径。 | 359| --out-path | 是 | NA | 拆包目标文件路径。 | 360| --force | 否 | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 | 361 362### 2.6 appqf模式拆包指令 363 364#### 2.6.1 示例 365 366``` 367java -jar app_unpacking_tool.jar --mode <option> --appqf-path <options> --out-path [option] --force [option] 368``` 369 370#### 2.6.2 参数含义及规范 371 372| 指令 | 是否必选项 | 选项 | 描述 | 373|--------------| ---------- |-------------|------------------------------------| 374| --mode | 是 | appqf | 拆包类型。 | 375| --appqf-path | 是 | NA | appqf包路径。 | 376| --out-path | 是 | NA | 拆包目标文件路径。 | 377| --force | 否 | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 | 378 379### 2.7 按照架构指数拆分hap/hsp包 380 381#### 2.7.1 示例(hap) 382 383``` 384java -jar app_unpacking_tool.jar --mode <option> --hap-path <options> --out-path [option] --force [option] --libs true --cpu-abis [option] 385``` 386 387#### 2.7.2 参数含义及规范(hap) 388 389| 指令 | 是否必选项 | 选项 | 描述 | 390| ---------- | ---------- | ------------- | ------------------------------------------------------------ | 391| --mode | 是 | hap | 拆包类型。 | 392| --hap-path | 是 | NA | hap包路径。 | 393| --out-path | 是 | NA | 拆包目标文件路径。 | 394| --force | 否 | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 | 395| --libs | 否 | true或者false | 是否按照包中libs目录内若干架构指数拆分,如果为true,表示按照架构进行拆分。 | 396| --cpu-abis | 否 | NA | 指定具体要拆出libs的架构类型,支持多个,用逗号分隔。--libs配置为fasle时该参数不生效 | 397 398#### 2.7.3 示例(hsp) 399 400``` 401java -jar app_unpacking_tool.jar --mode <option> --hsp-path <options> --out-path [option] --force [option] --libs true --cpu-abis [option] 402``` 403 404#### 2.7.4 参数含义及规范(hsp) 405 406| 指令 | 是否必选项 | 选项 | 描述 | 407| ---------- | ---------- | ------------- | ------------------------------------------------------------ | 408| --mode | 是 | hsp | 拆包类型。 | 409| --hsp-path | 是 | NA | hsp包路径。 | 410| --out-path | 是 | NA | 拆包目标文件路径。 | 411| --force | 否 | true或者false | 默认值为false,如果为true,表示当目标文件存在时,强制删除。 | 412| --libs | 否 | true或者false | 是否按照包中libs目录内若干架构指数拆分,如果为true,表示按照架构进行拆分。 | 413| --cpu-abis | 否 | NA | 指定具体要拆出libs的架构类型,支持多个,用逗号分隔。--libs配置为fasle时该参数不生效 | 414 415## 3. 包解析接口 416 417### 3.1 接口目录 418 419| 类名 | 接口原型 | 类型 | 接口详细描述 | 420| ------------------ | ------------------------------------------------------------ | -------- |-------------------------------------------------------------------| 421| UncompressEntrance | UncomperssResult parseApp(String appPath,String parseMode,String deviceType,String hapName) | Java接口 | 接口功能:根据参数解析app包的pack.info信息 输入参数:app包路径,解析参数 返回值:UncomperssResult | 422| UncompressEntrance | UncomperssResult parseApp(InputStream input,String parseMode,String deviceType,String hapName,String outPath) | Java接口 | 接口功能:根据参数解析app包的pack.info信息 输入参数:app文件流,解析参数 返回值:UncomperssResult | 423| UncompressEntrance | UncomperssResult parseHap(String hapPath) | Java接口 | 接口功能:根据参数解析app包的json配置文件 输入参数:hap包路径,解析参数 返回值:UncomperssResult | 424| UncompressEntrance | UncomperssResult parseHap(InputStream input) | Java接口 | 接口功能:根据参数解析app包的json配置文件 输入参数:hap包文件流,解析参数 返回值:UncomperssResult | 425 426## 4. 拆包工具信息字段 427 428### 4.1 UncomperssResult(Bundle信息)结构体信息 429 430| 字段 | 类型 | 描述 | 备注 | 431| ----------------| ------------------ |----------------------------------------| ---- | 432| result | boolean | 标识此次解析是否成功 | NA | 433| message | String | 解析失败时返回失败原因 | NA | 434| packInfos | List\<PackInfo> | bundle中pack.info文件的packages信息 | NA | 435| profileInfos | List\<profileInfo> | 应用的配置信息 | NA | 436| profileInfosStr | List\<String> | 应用的配置信息 | NA | 437| icon | String | 返回入口组件的icon路径,如果没有入口组件,则返回第一个组件的icon信息 | NA | 438| label | String | 返回入口组件的label,如果没有入口组件,则返回第一个组件的label信息 | NA | 439| packageSize | long | 表示app包的大小,单位字节 | NA | 440 441### 4.2 PackInfo结构体信息 442 443| 字段 | 类型 | 描述 | 备注 | 444| ------------------- | ------------- | --------------------------------------- | ---- | 445| name | String | 包名 | NA | 446| moduleName | String | Hap名称 | NA | 447| moduleType | String | module的类型 | NA | 448| deviceType | List\<String> | 表示当前hap包所支持的设备类型 | NA | 449| deliveryWithInstall | boolean | 标识当前hap是否在用户主动安装的时候安装 | NA | 450 451### 4.3 ProfileInfo结构体信息 452 453| 字段 | 类型 | 描述 | 备注 | 454| ------------ | ------------------------------ | ------------------------------------------ | ------------------------------------------------------------ | 455| hapName | String | 标识当前解析的hap包名称 | NA | 456| appInfo | AppInfo结构体(见下述AppInfo) | 标识APP信息的结构体(见下述AppInfo信息) | NA | 457| deviceConfig | Map\<String,DeviceConfig> | 标识设备信息 | 存储类型为Map\<String,String>,存储设备类型名称及对应设备类型的信息,在stage模型中,这个字段存储在app结构体中 | 458| hapInfo | HapInfo结构体(见下述HapInfo) | 标识hap包中module信息(见下述HapInfo信息) | NA | 459 460### 4.4 AppInfo结构体信息 461 462| 字段 | 类型 | 描述 | 备注 | 463|--------------------------------|--------------------------|-----------------------------------------------------------------------------|-------------| 464| bundleName | String | 标识app的包名称 | NA | 465| vendor | String | 标识app的供应商信息 | NA | 466| relatedBundleName | String | 标识app相关bundle的包名 | NA | 467| versionName | String | 标识app中的versionName信息 | NA | 468| versionCode | String | 标识app中的versionCode信息 | NA | 469| targetApiVersion | int | 标识应用运行需要的API目标版本 | NA | 470| compatibleApiVersion | int | 标识应用兼容的API版本 | NA | 471| appName | String | 标识显示在桌面上的ability的label | NA | 472| appNameEN | String | 标识显示在桌面上的ability的label | NA | 473| releaseType | String | 标识应用运行需要的API目标版本的类型 | NA | 474| shellVersionCode | String | 标识HarmonyOS中的API版本 | NA | 475| shellVersionName | String | 标识HarmonyOS中的API版本名称 | NA | 476| multiFrameworkBundle | String | 标识bundleName | NA | 477| debug | boolean | 标识应用是否可调试 | NA | 478| iconId | int | 标识应用的图标资源ID | NA | 479| labelId | int | 标识应用的label资源ID | NA | 480| icon | String | 标识应用的图标路径 | NA | 481| label | String | 标识应用的label | NA | 482| description | String | 标识应用的描述信息 | stage模型新增 | 483| minCompatibleVersionCode | int | 标识应用能够兼容的最低版本号 | NA | 484| distributedNotificationEnabled | boolean | 标记该应用是否开启分布式通知 | stage模型新增 | 485| bundleType | String | 标识bundle的类型,取值:<br/>- app:普通应用<br/>- atomicService:元服务 <br/>- shared:应用间共享库 | NA | 486| compileSdkVersion | String | 标识编译该应用时使用的sdk版本 | stage模型新增 | 487| compileSdkType | String | 标识编译该应用时使用的sdk类别 | stage模型新增 | 488| labels | HashMap\<String, String> | 标识多语言应用程序AppJson的标签。 | NA | 489| descriptions | HashMap\<String, String> | 标识多语言应用程序AppJson的说明。 | NA | 490 491### 4.5 HapInfo结构体信息 492 493| 字段 | 类型 | 描述 | 备注 | 494| ---------------------|-----------------------------------------------|------------------------------------| ---------------------------------------| 495| appModel | AppModel枚举值 | 标识应用的框架模型<br/>- FA:FA模型<br/>- STAGE:Stage模型 | NA | 496| packageStr | String | 标识应用的包信息 | FA模型特有 | 497| name | String | 标识当前module的名字 | NA | 498| description | String | 标识hap包的描述信息 | FA模型特有 | 499| supportedModes | List\<String> | 标识hap包的支持的模式 | NA | 500| abilities | List\<AbilityInfo> | 标识hap包ability信息 | NA | 501| defPermissions | List\<DefPermission> | 标识hap包DefPermission信息 | NA | 502| definePermissions | List\<DefinePermission> | 标识hap包DefinePermission信息 | NA | 503| defPermissionsGroups | List\<DefPermissionsGroups> | 标识hap包DefPermissionsGroups 信息 | NA | 504| distro | Distro结构体 | 标识hap包的distro信息 | NA | 505| reqCapabilities | List\<String> | 标识hap包reqCapabilities信息 | NA | 506| deviceType | List\<String> | 标识hap可以运行在哪类设备上 | 对应stage模型中的deviceTypes | 507| metaData | MetaData结构体(见下述metaData) | 标识hap的自定义元信息 | NA | 508| dependencies | List\<DependencyItem> | 标识hap包DependencyItem信息 | NA | 509| isJs | boolean | 标识该应用是否是js应用 | FA模型特有 | 510| reqPermissions | list\<ReqPermission> | 标识应用申请的权限的集合 | 对应stage模型的requestPermissions | 511| commonEvents | CommonEvent结构体(见下述CommentEvent) | 标识静态事件 | NA | 512| shortcuts | list\<Shortcut> | 标识应用的shortcuts信息 | NA | 513| distroFilter | DistroFilter结构体 | 标识应用市场按设备形态分发的信息 | NA | 514| srcEntrance | String | 标识应用对应的入口代码路径 | stage模型新增 | 515| process | String | 标识hap的进程名 | stage模型新增 | 516| mainElement | String | 标识hap的入口ability名称或者extension名称 | stage模型新增,FA模型将mainAbility的值赋值给mainElement | 517| uiSyntax | String | 定义该ETS Component的语法类型 | stage模型新增 | 518| pages | List\<String> | 列举ETS Component中每个页面信息 | stage模型新增 | 519| extensionAbilityInfos| List\<ExtensionAbilityInfo> | 描述extensionAbility的配置信息 | stage模型新增 | 520| moduleAtomicService | ModuleAtomicService结构体(见下述ModuleAtomicService) | 描述hap的元服务信息 | NA | 521| formInfos | List\<AbilityFormInfo> | 描述卡片的信息 | NA | 522| descriptions | HashMap\<String, String> | 标识hap的说明信息 | NA | 523| compressedSize | long | 标识Hap包压缩后的大小,单位字节 | NA | 524| originalSize | long | 标识Hap包的原始大小,单位字节 | NA | 525 526### 4.6 AbilityInfo结构体信息 527 528| 字段 | 类型 | 描述 | 备注 | 529|-------------------|--------------------------|--------------------------------| ------------------------------- | 530| name | String | 标识当前ability的逻辑名 | NA | 531| description | String | 标识ability的描述 | NA | 532| descriptionRes | String | 标识ability资源的描述 | NA | 533| iconId | int | 标识ability图标资源ID | NA | 534| icon | String | 标识ability图标 | NA | 535| iconPath | String | 标识ability图标路径 | NA | 536| labelId | int | 标识ability对用户显示的名称资源ID | NA | 537| label | String | 标识ability对用户显示的名称 | NA | 538| labelRes | String | 标识ability对用户显示的名称资源 | NA | 539| type | String | 标识ability类型 | Stage模型下该值直接赋予page类型 | 540| formsEnabled | boolean | 标识ability卡片是否使能 | NA | 541| formInfo | FormInfo结构体 | 描述卡片的信息 | NA | 542| uri | String | 标识ability的uri信息 | FA模型支持 | 543| launchType | String | 标识ability中的launcherType信息 | NA | 544| orientation | String | 标识ability中的orientation信息 | NA | 545| visible | boolean | 标识ability中的visible信息 | NA | 546| grantPermission | boolean | 标识ability中的grantPermission信息 | NA | 547| readPermission | String | 标识ability中的readPermission信息 | NA | 548| writePermission | String | 标识ability中的writePermission信息 | NA | 549| uriPermissionMode | String | 标识ability中的uriPermissionMode信息 | NA | 550| uriPermissionPath | String | 标识ability中的uriPermissionPath信息 | NA | 551| directLaunch | boolean | 标识ability中的directLaunch信息 | NA | 552| mission | String | 标识ability中的mission信息 | NA | 553| targetAbility | String | 标识ability中的targetAbility信息 | NA | 554| multiUserShared | boolean | 标识ability中的multiUserShared信息 | NA | 555| supportPipMode | boolean | 标识ability中的supportPipMode信息 | NA | 556| srcLanguage | String | 标识ability中的srcLanguage信息 | NA | 557| srcPath | String | 标识ability中的srcPath信息 | NA | 558| srcEntrance | String | 标识ability中的srcEntrance信息 | NA | 559| continuable | boolean | 标识ability中的continuable信息 | NA | 560| metaData | MetaData结构体(见下述MetaData) | 标识ability的自定义元信息 | NA | 561| configChanges | List\<String> | 标识ability中的configChanges信息 | NA | 562| formInfos | List\<AbilityFormInfo> | 标识ability中的forms信息 | NA | 563| permissions | List\<String> | 标识ability中的permissions信息 | NA | 564| skills | List\<SkillInfo> | 标识ability中的skills信息 | NA | 565| backgroundModes | List\<String> | 标识ability中的backgroundModes信息 | NA | 566| labels | HashMap\<String, String> | 标识多语言下ability对用户显示的名称 | NA | 567| descriptions | HashMap\<String, String> | 标识多语言下ability的描述 | NA | 568 569### 4.7 Distro结构体信息 570 571| 字段 | 类型 | 描述 | 备注 | 572| ------------------- |---------| --------------------------------------- | ------------------------------------------------------------ | 573| moduleName | String | 标识当前module的名字 | 对应Stage模型中module结构体中的moduleName字段 | 574| moduleType | String | 标识当前hap的类型 | 对应Stage模型中module结构体中的moduleType字段 | 575| deliveryWithInstall | boolean | 标识当前hap是否在用户主动安装的时候安装 | 对应Stage模型中module结构体中的deliveryWithInstall字段 | 576| installationFree | int | 标识当前hap是否支持免安装特性 | 对应Stage模型中module结构体中的installationFree字段,json文件中如果配置了该字段为true,返回1,配置为false,返回0,未配置返回2 | 577| virtualMachine | String | 标识当前hap运行的目标虚拟机类型,供云端分发使用,如应用市场和分发中心 | 对应Stage模型中module结构体中的virtualMachine字段 | 578 579### 4.8 MetaData结构体信息 580 581| 字段 | 类型 | 描述 | 备注 | 582| -------------- |----------------------| -------------------------------- | ------------------------- | 583| parameters | List\<MetaDataInfo> | 标识Metadata的参数信息 | FA模型特有,stage模型废弃 | 584| results | List\<MetaDataInfo> | 标识Metadata的results信息 | FA模型特有,stage模型废弃 | 585| customizeDatas | List\<CustomizeData> | 标识Metadata的customizeDatas信息 | NA | 586 587### 4.9 MetaDataInfo结构体信息 588 589| 字段 | 类型 | 描述 | 备注 | 590| ----------- | ------ | --------------------------------- | ------------------------- | 591| name | String | 标识MetaDataInfo的name信息 | FA模型特有,stage模型废弃 | 592| description | String | 标识MetaDataInfo的description信息 | FA模型特有,stage模型废弃 | 593| type | String | 标识MetaDataInfo的type信息 | FA模型特有,stage模型废弃 | 594 595### 4.10 CustomizeData结构体信息 596 597| 字段 | 类型 | 描述 | 备注 | 598| ----- | ------ | ---------------------------- | ----------------------- | 599| name | String | 标识CustomizeData的name信息 | 对应stage模型的metadata | 600| value | String | 标识CustomizeData的value信息 | 对应stage模型的metadata | 601| extra | String | 标识CustomizeData的extra信息 | 对应stage模型的metadata | 602 603### 4.11 ReqPermission结构体信息 604 605| 字段 | 类型 | 描述 | 备注 | 606| --------- | ---------------------------------- |------------------------------------------------------------| ---- | 607| name | String | 标识ReqPermission的名称信息 | NA | 608| reason | String | 当申请的权限为user_grant权限时此字段必填,描述申请权限的原因 | NA | 609| usedScene | UsedScene结构体(见下述UsedScene) | 描述权限使用的场景和时机。场景类型有:ability、调用时机(when),可配置多个ability | NA | 610| reasons | HashMap\<String, String> | 当申请的权限为user_grant权限时此字段必填,描述申请权限的原因 | NA | 611 612### 4.12 UsedScene结构体信息 613 614| 字段 | 类型 | 描述 | 备注 | 615| ------- | ------------- | ------------------------------------------------------------ | ---- | 616| ability | List\<String> | 标识需要使用到该权限的元能力(ability),该标签值为数组形式 | NA | 617| when | String | 标识使用该权限的时机,值为inuse/always,表示为仅允许前台使用和前后台都可使用 | NA | 618 619### 4.13 Shortcut结构体信息 620 621| 字段 | 类型 | 描述 | 备注 | 622| ---------- | ---------------------- | :----------------------------------------------------------- | ---- | 623| shortcutId | String | 标识ShortCut的Id | NA | 624| label | String | 标识ShortCut的标签信息 | NA | 625| icon | String | 标识ShortCut的图标信息 | NA | 626| intents | List\<IntentInfo> | 标识快捷方式内定义的目标intent信息集合,每个intent可配置两个子标签,targetClass,targetBundle | NA | 627| labels | HashMap\<String, String> | 标识多语言下ShortCut对用户显示的名称 | NA | 628 629### 4.14 IntentInfo结构体信息 630 631| 字段 | 类型 | 描述 | 备注 | 632| ------------ | ------ | ---------------- | ---- | 633| targetClass | String | 快捷方式目标类型 | NA | 634| targetBundle | String | 快捷方式目标包名 | NA | 635 636### 4.15 DistroFilter结构体信息 637 638| 字段 | 类型 | 描述 | 备注 | 639| ------------- | ------------------- | ------------------------------------- | ---- | 640| apiVersion | ApiVersion结构体 | 标识DistroFilter中的apiVersion信息 | NA | 641| screenShape | ScreenShape结构体 | 标识DistroFilter中的screenShape信息 | NA | 642| screenDensity | ScreenDensity结构体 | 标识DistroFilter中的screenDensity信息 | NA | 643| screenWindow | ScreenWindow结构体 | 标识DistroFilter中的screenWindow信息 | NA | 644| countryCode | CountryCode结构体 | 标识DistroFilter中的countryCode信息 | NA | 645 646### 4.16 ApiVersion结构体信息 647 648| 字段 | 类型 | 描述 | 备注 | 649| ------ | ------------- | ------------------------ | ---- | 650| policy | String | 标识结构体中的policy信息 | NA | 651| value | List\<String> | 标识结构体中的value信息 | NA | 652 653### 4.17 ScreenShape结构体信息 654 655| 字段 | 类型 | 描述 | 备注 | 656| ------ | ------------- | ------------------------ | ---- | 657| policy | String | 标识结构体中的policy信息 | NA | 658| value | List\<String> | 标识结构体中的value信息 | NA | 659 660### 4.18 ScreenDensity结构体信息 661 662| 字段 | 类型 | 描述 | 备注 | 663| ------ | ------------- | ------------------------ | ---- | 664| policy | String | 标识结构体中的policy信息 | NA | 665| value | List\<String> | 标识结构体中的value信息 | NA | 666 667### 4.19 ScreenWindow结构体信息 668 669| 字段 | 类型 | 描述 | 备注 | 670| ------ | ------------- | ------------------------ | ---- | 671| policy | String | 标识结构体中的policy信息 | NA | 672| value | List\<String> | 标识结构体中的value信息 | NA | 673 674### 4.20 CountryCode结构体信息 675 676| 字段 | 类型 | 描述 | 备注 | 677| ------ | ------------- | ------------------------ | ---- | 678| policy | String | 标识结构体中的policy信息 | NA | 679| value | List\<String> | 标识结构体中的value信息 | NA | 680 681### 4.21 ExtensionAbilityInfo结构体信息 682 683| 字段 | 类型 | 描述 | 备注 | 684| --------------- | ------------------------ | ----------------------------------------------------- | ----------------------------------- | 685| name | String | 标识当前extensionAbility的逻辑名 | stage模型支持 | 686| srcEntrance | String | 标识extensionAbility所对应的js代码路径 | stage模型支持 | 687| icon | String | 标签标识extensionAbility图标 | stage模型支持 | 688| label | String | 标识extensionAbility对用户显示的名称 | stage模型支持 | 689| description | String | 标识extensionAbility的描述 | stage模型支持 | 690| type | String | 标识extensionAbility的类型:form、workScheduler、inputMethod、service、accessibility、dataShare、fileShare、wallpaper、backup | stage模型支持,目前仅解析了form、staticSubscriber的信息、其他类型(如:workScheduler、inputMethod、service、accessibility、dataShare、fileShare、wallpaper、backup)暂未解析 | 691| permissions | List\<String> | 标识被其它应用的ability调用时需要申请的权限的集合 | stage模型支持 | 692| readPermission | String | 标识读取ability的数据所需的权限 | stage模型支持 | 693| writePermission | String | 标识向ability写数据所需的权限 | stage模型支持 | 694| visible | boolean | 标识extensionAbility是否可以被其它应用调用 | stage模型支持 | 695| skills | List\<SkillInfo> | 标识extensionAbility能够接收的意图的特征集 | stage模型支持 | 696| metadataInfos | List\<ModuleMetadataInfo>| 标识extensionAbility能够接收的元数据信息 | stage模型支持 | 697| metadata | MetaData结构体 | 标识extensionAbility的元信息 | 将metadata中的信息赋值到CustomizeData中 | 698| uri | String | 标识extensionAbility提供的数据uri | stage模型支持 | 699| descriptions | HashMap\<String, String> | 标识多语言下extensionAbility的描述 | NA | 700| labels | HashMap\<String, String> | 标识多语言下extensionAbility对用户显示的名称 | NA | 701 702### 4.22 SkillInfo结构体信息 703 704| 字段 | 类型 | 描述 | 备注 | 705| -------- | ------------------- |----------------------| ---- | 706| actions | List\<String> | 标识能够接收的意图的action值的集合 | NA | 707| entities | List\<String> | 标识能够接收的意图的元能力的类别集合 | NA | 708| domainVerify | boolean | ability是否支持域校验 | NA | 709 710### 4.23 UriInfo结构体信息 711 712| 字段 | 类型 | 描述 | 备注 | 713| ------------- | ------ |------------------------| ---- | 714| schema | String | 标识ModuleUriInfo的范式信息 | NA | 715| host | String | 标识ModuleUriInfo的宿主信息 | NA | 716| port | String | 标识ModuleUriInfo的端口信息 | NA | 717| pathStartWith | String | 标识ModuleUriInfo的路径前缀 | NA | 718| pathRegex | String | 标识ModuleUriInfo的路径正则信息 | NA | 719| path | String | 标识ModuleUriInfo的路径信息 | NA | 720| type | String | 标识ModuleUriInfo的种类 | NA | 721 722### 4.24 AbilityFormInfo结构体信息 723 724| 字段 | 类型 | 描述 | 备注 | 725| ------------------- | -------------------------| ------------------------------------------------------------ |-----------| 726| name | String | 标识forms的名称 | NA | 727| type | String | 标签标识卡片的类型 | NA | 728| updateEnabled | boolean | 标识该卡片是否支持定时刷新 | NA | 729| scheduledUpdateTime | String | 标签标识卡片顶点刷新的时间,采用24小时计数,精确到分钟 | NA | 730| updateDuration | int | 标识卡片定时刷新的更新频率,单位为30分钟,取值为30的倍数值 | NA | 731| supportDimensions | List\<String> | 标识卡片外观规格,取值为”1 * 2“,”2 * 2“,”2 * 4“,”4 * 4“ | NA | 732| defaultDimension | String | 标识卡片默认外观规格,取值必须在supportDimensions配置的列表中 | NA | 733| MetaData | MetaData | 标识卡片的自定义信息 | NA | 734| description | String | 标识forms的描述 | stage模型新增 | 735| src | String | 标签JS卡片对应的UI代码 | NA | 736| windowInfo | ModuleWindowInfo结构体 | 标签能力窗体的窗口。 | NA | 737| isDefault | boolean | 标识该卡片是否为默认卡片,每个hap有且只能有一个默认卡片 | NA | 738| colorMode | String | 标识卡片的色调,取值为auto、dark、light其中之一 | NA | 739| formConfigAbility | String | 标识卡片调整的Ability名称 | NA | 740| formVisibleNotify | String | 标识卡片是否被允许使用卡片可见性通知 | NA | 741| 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 | 742| descriptions | HashMap\<String, String> | 标识多语言下ability的描述 | NA | 743 744 745 746### 4.25 CommonEvent结构体信息 747 748| 字段 | 类型 | 描述 | 备注 | 749| ---------- | ------------- | -------------------------------------- | ------------------------------------------------ | 750| name | String | 当前静态公共事件对应的类名 | Stage模型从staticSubscriber类型的Extension中获取 | 751| permission | String | 标识实现该静态公共事件需要申请的权限 | Stage模型从staticSubscriber类型的Extension中获取 | 752| data | List\<String> | 当前静态公共时间需要携带的额外数据数组 | Stage模型从staticSubscriber类型的Extension中获取 | 753| type | List\<String> | 配置当前静态公共时间的类别数组 | Stage模型从staticSubscriber类型的Extension中获取 | 754| events | List\<String> | 标识能够接收的意图的event值的集合 | Stage模型从staticSubscriber类型的Extension中获取 | 755 756### 4.26 DependencyItem结构体信息 757 758| 字段 | 类型 | 描述 | 备注 | 759|--------------| ------ |--------------| ---- | 760| bundleName | String | 共享包的bundleName | NA | 761| moduleName | String | 共享包的moduleName | NA | 762| versionCode | String | 共享包的版本号 | NA | 763 764### 4.27 ModuleAtomicService结构体信息 765 766| 字段 | 类型 | 描述 | 备注 | 767|--------------|------------------------|----------------| ---- | 768| preloadItems | list\<PreloadItem> | 预加载对象 | NA | 769 770### 4.28 PreloadItem结构体信息 771 772| 字段 | 类型 | 描述 | 备注 | 773|--------------|--------|----------------| ---- | 774| moduleName | String | 预加载的模块名 | NA | 775 776### 4.29 DeviceConfig结构体信息 777 778| 字段 | 类型 | 描述 | 备注 | 779|--------------------------------|-------- |------------------------------------------| ---- | 780| targetReqSdk | String | 标识应用程序DeviceConfig的目标请求Sdk版本 | NA | 781| compatibleReqSdk | String | 标识应用程序DeviceConfig的兼容请求Sdk版本 | NA | 782| jointUserid | String | 标识应用程序DeviceConfig的jointUserid | NA | 783| process | String | 标识应用程序DeviceConfig的进程 | NA | 784| arkFlag | String | 标识应用程序DeviceConfig的arkFlag | NA | 785| targetArkVersion | String | 标识应用程序DeviceConfig的targetArkVersion | NA | 786| compatibleArkVersion | String | 标识应用程序DeviceConfig的兼容ArkVersion | NA | 787| directLaunch | boolean | 标识应用程序DeviceConfig的直接启动 | NA | 788| distributedNotificationEnabled | boolean | 标识应用程序AppJson的distributedNotificationEnabled | NA | 789 790### 4.30 DefPermission结构体信息 791 792| 字段 | 类型 | 描述 | 备注 | 793|----------------|--------------------------|-------------------------------------------| ---- | 794| name | String | 标识指示DefPermission的名称 | NA | 795| grantMode | String | 标识DefPermission的grantMode | NA | 796| group | String | 标识DefPermission的组 | NA | 797| label | String | 标识DefPermission的标签 | NA | 798| description | String | 标识DefPermission的描述 | NA | 799| availableScope | List\<String> | 标识DefPermission的可用范围 | NA | 800| labels | HashMap\<String, String> | 标识多语言应用程序DefPermission的标签 | NA | 801| descriptions | HashMap\<String, String> | 标识多语言应用程序DefPermission的说明 | NA | 802 803### 4.31 DefinePermission结构体信息 804 805| 字段 | 类型 | 描述 | 备注 | 806|------------------------|--------------------------|----------------------------------------------------| ---- | 807| name | String | 标识DefPermission的名称 | NA | 808| grantMode | String | 标识DefPermission的grantMode | NA | 809| availableLevel | String | 标识DefPermission的组 | NA | 810| provisionEnable | boolean | 标识模块定义权限的提供启用 | NA | 811| distributedSceneEnable | boolean | 标识ModuleDefinePermissions的distributedSceneEnable | NA | 812| label | String | 标识DefPermission的标签 | NA | 813| description | String | 标识DefPermission的描述 | NA | 814| descriptions | HashMap\<String, String> | 标识多语言应用程序DefPermission的说明 | NA | 815| labels | HashMap\<String, String> | 标识多语言应用程序DefPermission的标签 | NA | 816 817### 4.32 DefPermissionsGroups结构体信息 818 819| 字段 | 类型 | 描述 | 备注 | 820|-------------|---------|------------------------------| ---- | 821| name | String | 标识DefPermissionGroup的名称 | NA | 822| order | String | 标识DefPermissionGrou的顺序 | NA | 823| icon | String | 标识DefPermissionGroup的图标 | NA | 824| label | String | 标识DefPermissionGroup的标签 | NA | 825| description | String | 标识DefPermissionGroup的描述 | NA | 826| request | boolean | 标识DefPermissionGroup的请求 | NA | 827 828### 4.33 FormInfo结构体信息 829 830| 字段 | 类型 | 描述 | 备注 | 831|---------------|---------------|--------------------------| ---- | 832| formEntity | List\<String> | 标识formInfo的formEntity | NA | 833| minHeight | String | 标识formInfo的最小高度 | NA | 834| defaultHeight | String | 标识formInfo的默认高度 | NA | 835| minWidth | String | 标识formInfo的最小宽度 | NA | 836| defaultWidth | String | 标识formInfo的默认宽度 | NA | 837 838### 4.34 ModuleMetadataInfo结构体信息 839 840| 字段 | 类型 | 描述 | 备注 | 841|----------|---------|------------------------------| ---- | 842| name | String | 标识ModuleMetadataInfo的名称 | NA | 843| value | String | 标识ModuleMetadataInfo的值 | NA | 844| resource | String | 标识ModuleMetadataInfo的资源 | NA | 845 846### 4.35 ModuleWindowInfo结构体信息 847 848| 字段 | 类型 | 描述 | 备注 | 849|-----------------|---------|-------------------------------------| ---- | 850| designWidth | int | 标识模块已用场景的设计宽度 | NA | 851| autoDesignWidth | boolean | 标识ModuleUsedScene的autoDesignWidth | NA |