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