1# BundleInfo
2
3应用包信息,三方应用可以通过[bundleManager.getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)获取自身的应用包信息,其中入参[bundleFlags](js-apis-bundleManager.md#bundleflag)指定所返回的[BundleInfo](js-apis-bundleManager-bundleInfo.md)中所包含的信息。
4
5> **说明:**
6> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
7
8## BundleInfo
9
10 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core11
12| 名称                              | 类型                                                         | 只读 | 可选 | 说明                                                         |
13| --------------------------------- | ------------------------------------------------------------ | ---- | ---- | ------------------------------------------------------------ |
14| name                              | string                                                       | 是   | 否   | 应用包的名称。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
15| vendor                            | string                                                       | 是   | 否   | 应用包的供应商。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
16| versionCode                       | number                                                       | 是   | 否   | 应用包的版本号。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
17| versionName                       | string                                                       | 是   | 否   | 应用包的版本文本描述信息。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
18| minCompatibleVersionCode          | number                                                       | 是   | 否   | 分布式场景下的应用包兼容的最低版本。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
19| targetVersion                     | number                                                       | 是   | 否   | 该标签标识应用运行目标版本。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
20| appInfo                           | [ApplicationInfo](js-apis-bundleManager-applicationInfo.md)         | 是   | 否   | 应用程序的配置信息,通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_APPLICATION获取。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
21| 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开始,该接口支持在原子化服务中使用。 |
22| reqPermissionDetails     | Array\<[ReqPermissionDetail](#reqpermissiondetail)>   | 是   | 否   | 应用运行时需向系统申请的权限集合的详细信息,通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_REQUESTED_PERMISSION获取。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
23| 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开始,该接口支持在原子化服务中使用。 |
24| signatureInfo          | [SignatureInfo](#signatureinfo)                                          | 是   | 否   | 应用包的签名信息,通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_SIGNATURE_INFO获取。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
25| installTime                       | number                                                       | 是   | 否   | 应用包安装时间。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
26| updateTime                        | number                                                       | 是   | 否   | 应用包更新时间。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
27| 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开始,该接口支持在原子化服务中使用。 |
28| appIndex<sup>12+</sup>    | number    | 是   | 否   | 应用包的分身索引标识,仅在分身应用中生效。 |
29
30
31## ReqPermissionDetail
32
33应用运行时需向系统申请的权限集合的详细信息。
34> **说明:**
35>
36> - 如果应用内多包申请的权限名称一样,但是权限申请理由不一致,系统只会返回一个权限申请理由,优先级从高到低顺序为entry类型HAP、feature类型HAP、应用内HSP。
37
38 **原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
39
40 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core41
42| 名称                  | 类型                    | 只读 | 可选 | 说明                 |
43| --------------------- | ----------------------- | ---- | ---- | ---------------------|
44| name                  | string                  | 否   | 否   | 需要使用的权限名称。   |
45| moduleName<sup>10+</sup>            | string                  | 否   | 否   | 申请该权限的module名称。   |
46| reason                | string                  | 否   | 否   | 描述申请权限的原因。  |
47| reasonId              | number                  | 否   | 否  | 描述申请权限的原因ID。 |
48| usedScene             | [UsedScene](#usedscene) | 否   | 否   | 权限使用的场景和时机。 |
49
50
51
52## UsedScene
53
54描述权限使用的场景和时机。
55
56 **原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
57
58 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core59
60| 名称      | 类型           | 只读 | 可选 | 说明                        |
61| --------- | -------------- | ---- | ---- | --------------------------- |
62| abilities | Array\<string> | 否   | 否   | 使用到该权限的Ability集合。   |
63| when      | string         | 否   | 否   | 使用该权限的时机。支持的取值有inuse(使用时)、always(始终)。          |
64
65## SignatureInfo
66
67描述应用包的签名信息。
68
69 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core70
71| 名称      | 类型           | 只读 | 可选 | 说明                        |
72| --------- | -------------- | ---- | ---- | --------------------------- |
73| appId     | string         | 是   | 否   | 应用的appId。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。                 |
74|fingerprint| string         | 是   | 否   | 应用包的指纹信息。使用的签名证书发生变化,该字段会发生变化。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。            |
75|appIdentifier<sup>11+</sup>| string         | 是   | 否   | 应用的唯一标识,由云端统一分配。该ID在应用全生命周期中不会发生变化,包括版本升级、证书变更、开发者公私钥变更、应用转移等。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。            |
76|certificate<sup>14+</sup>| string         | 是   | 是   | 应用的证书公钥。<br/>**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。            |
77
78## AppCloneIdentity<sup>14+<sup>
79
80描述应用包的身份信息。
81
82**系统能力:** SystemCapability.BundleManager.BundleFramework.Core83
84| 名称      | 类型           | 只读 | 可选 | 说明                        |
85| --------- | -------------- | ---- | ---- | --------------------------- |
86| bundleName | string         | 是   | 否   | 应用的bundleName。          |
87| appIndex | number | 是   | 否   | 应用包的分身索引信息。 |
88