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