• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# BundleInfo
2<!--Kit: Ability Kit-->
3<!--Subsystem: BundleManager-->
4<!--Owner: @wanghang904-->
5<!--Designer: @hanfeng6-->
6<!--Tester: @kongjing2-->
7<!--Adviser: @Brilliantry_Rui-->
8
9应用包信息,可以通过[bundleManager.getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)获取自身的应用包信息,其中参数[bundleFlags](js-apis-bundleManager.md#bundleflag)指定所返回的[BundleInfo](js-apis-bundleManager-bundleInfo.md)中所包含的信息。
10
11> **说明:**
12>
13> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
14
15## 导入模块
16
17```ts
18import { bundleManager } from '@kit.AbilityKit';
19```
20
21## BundleInfo
22
23**系统能力:** SystemCapability.BundleManager.BundleFramework.Core
24
25| 名称                              | 类型                                                         | 只读 | 可选 | 说明                                                         |
26| --------------------------------- | ------------------------------------------------------------ | ---- | ---- | ------------------------------------------------------------ |
27| name                              | string                                                       | 是   | 否   | 应用包的名称,对应[app.json5](../../quick-start/app-configuration-file.md)中配置的bundleName字段。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
28| vendor                            | string                                                       | 是   | 否   | 应用包的供应商,对应[app.json5](../../quick-start/app-configuration-file.md)中配置的vendor字段。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
29| versionCode                       | number                                                       | 是   | 否   | 应用包的版本号,对应[app.json5](../../quick-start/app-configuration-file.md)中配置的versionCode字段。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
30| versionName                       | string                                                       | 是   | 否   | 应用包的版本文本描述信息,对应[app.json5](../../quick-start/app-configuration-file.md)中配置的versionName字段。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
31| minCompatibleVersionCode          | number                                                       | 是   | 否   | 分布式场景下的应用包兼容的最低版本,对应[app.json5](../../quick-start/app-configuration-file.md)中配置的minCompatibleVersionCode字段。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
32| targetVersion                     | number                                                       | 是   | 否   | 应用运行目标版本,对应[app.json5](../../quick-start/app-configuration-file.md)中配置的targetAPIVersion字段。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
33| appInfo                           | [ApplicationInfo](js-apis-bundleManager-applicationInfo.md)         | 是   | 否   | 应用程序的配置信息,通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_APPLICATION获取。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
34| hapModulesInfo                    | Array\<[HapModuleInfo](js-apis-bundleManager-hapModuleInfo.md)>     | 是   | 否   | 模块的配置信息,通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_HAP_MODULE获取。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
35| reqPermissionDetails     | Array\<[ReqPermissionDetail](#reqpermissiondetail)>   | 是   | 否   | 应用运行时需向系统申请的权限集合的详细信息,通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION获取。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
36| permissionGrantStates        | Array\<[bundleManager.PermissionGrantState](js-apis-bundleManager.md#permissiongrantstate)> | 是   | 否   | 申请权限的授予状态,通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION获取。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
37| signatureInfo          | [SignatureInfo](#signatureinfo)                                          | 是   | 否   | 应用包的签名信息,通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_SIGNATURE_INFO获取。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
38| installTime                       | number                                                       | 是   | 否   | 应用包安装时间戳,表示从1970-01-01 08:00:00 UTC+8逝去的毫秒数,单位毫秒。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。<br/> **说明:** <br/> 设备出厂首次开机时,如果未获取到当前时间,会以Unix时间戳基准(1970-01-01 08:00:00 UTC+8)作为当前系统的起始时间。例如,开机后未获取到时间,等待32s之后安装成功,则应用包安装时间戳为32000。 |
39| updateTime                        | number                                                       | 是   | 否   | 应用包更新时间戳,表示从1970-01-01 08:00:00 UTC+8逝去的毫秒数,单位毫秒。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
40| routerMap<sup>12+</sup>           | Array\<[RouterItem](js-apis-bundleManager-hapModuleInfo.md#routeritem12)>           | 是   | 否   | 应用的路由表配置,由hapModulesInfo下的routerMap信息,根据RouterItem中的name字段进行去重后合并得到。通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_HAP_MODULE和GET_BUNDLE_INFO_WITH_ROUTER_MAP获取。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 |
41| appIndex<sup>12+</sup>    | number    | 是   | 否   | 应用包的分身索引标识,仅在分身应用中生效。 |
42| firstInstallTime<sup>18+</sup>                        | number                                                       | 是   | 是   | 应用在当前设备的首次安装时间戳,表示从1970-01-01 08:00:00 UTC+8逝去的毫秒数,单位毫秒,预置应用的首次安装时间戳为1533657660000。<br/>**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。 |
43
44
45## ReqPermissionDetail
46
47应用运行时需向系统申请的权限集合的详细信息。
48> **说明:**
49> - 如果应用内多包申请的权限名称一样,但是权限申请理由不一致,系统只会返回一个权限申请理由,优先级从高到低顺序为entry类型HAP、feature类型HAP、应用内HSP。
50
51**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
52
53**系统能力:** SystemCapability.BundleManager.BundleFramework.Core
54
55| 名称                  | 类型                    | 只读 | 可选 | 说明                 |
56| --------------------- | ----------------------- | ---- | ---- | ---------------------|
57| name                  | string                  | 否   | 否   | 需要使用的[权限名称](../../security/AccessToken/app-permissions.md)。   |
58| moduleName<sup>10+</sup>            | string                  | 否   | 否   | 申请该权限的module名称。   |
59| reason                | string                  | 否   | 否   | 描述申请权限的原因。  |
60| reasonId              | number                  | 否   | 否  | 描述申请权限的原因ID。 |
61| usedScene             | [UsedScene](#usedscene) | 否   | 否   | 权限使用的场景和时机。 |
62
63
64
65## UsedScene
66
67描述权限使用的场景和时机。
68
69**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
70
71**系统能力:** SystemCapability.BundleManager.BundleFramework.Core
72
73| 名称      | 类型           | 只读 | 可选 | 说明                        |
74| --------- | -------------- | ---- | ---- | --------------------------- |
75| abilities | Array\<string> | 否   | 否   | 使用到该权限的Ability集合。   |
76| when      | string         | 否   | 否   | 使用该权限的时机。支持的取值有inuse(使用时)、always(始终)。          |
77
78## SignatureInfo
79
80描述应用包的签名信息。
81
82**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
83
84**系统能力:** SystemCapability.BundleManager.BundleFramework.Core
85
86| 名称      | 类型           | 只读 | 可选 | 说明                        |
87| --------- | -------------- | ---- | ---- | --------------------------- |
88| appId     | string         | 是   | 否   | 应用的appId,由包名、下划线和证书公钥的Base64编码组成。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。                 |
89|fingerprint| string         | 是   | 否   | 应用包的指纹信息,由签名证书通过SHA-256算法计算哈希值生成。使用的签名证书发生变化时,该字段也会发生变化。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。            |
90|appIdentifier<sup>11+</sup>| string         | 是   | 否   | 应用的唯一标识。<!--RP1-->应用[Profile签名文件](../../security/app-provision-structure.md)中的app-identifier。<!--RP1End--> <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。          |
91|certificate<sup>14+</sup>| string         | 是   | 是   | 应用的证书公钥。<br/>**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。            |
92
93## AppCloneIdentity<sup>14+<sup>
94
95描述应用包的身份信息。
96
97**系统能力:** SystemCapability.BundleManager.BundleFramework.Core
98
99| 名称      | 类型           | 只读 | 可选 | 说明                        |
100| --------- | -------------- | ---- | ---- | --------------------------- |
101| bundleName | string         | 是   | 否   | 应用的bundleName。          |
102| appIndex | number | 是   | 否   | 应用包的分身索引信息。 |
103