1# native_interface_bundle.h 2<!--Kit: Ability Kit--> 3<!--Subsystem: BundleManager--> 4<!--Owner: @wanghang904--> 5<!--Designer: @hanfeng6--> 6<!--Tester: @kongjing2--> 7<!--Adviser: @Brilliantry_Rui--> 8 9## 概述 10 11提供查询应用包信息的功能,获取的信息包括应用包名和指纹信息。 12 13**引用文件:** <bundle/native_interface_bundle.h> 14 15**库:** libbundle_ndk.z.so 16 17**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 18 19**起始版本:** 9 20 21**相关模块:** [Native_Bundle](capi-native-bundle.md) 22 23## 汇总 24 25### 结构体 26 27| 名称 | typedef关键字 | 描述 | 28| -- | -- | -- | 29| [OH_NativeBundle_ApplicationInfo](capi-native-bundle-oh-nativebundle-applicationinfo.md) | OH_NativeBundle_ApplicationInfo | 应用包信息数据结构,包含应用包名和应用指纹信息。 | 30| [OH_NativeBundle_ElementName](capi-native-bundle-oh-nativebundle-elementname.md) | OH_NativeBundle_ElementName | elementName信息。 | 31| [OH_NativeBundle_Metadata](capi-native-bundle-oh-nativebundle-metadata.md) | OH_NativeBundle_Metadata | 元数据信息。 | 32| [OH_NativeBundle_ModuleMetadata](capi-native-bundle-oh-nativebundle-modulemetadata.md) | OH_NativeBundle_ModuleMetadata | 模块元数据的信息。 | 33 34### 函数 35 36| 名称 | 描述 | 37| -- | -- | 38| [OH_NativeBundle_ApplicationInfo OH_NativeBundle_GetCurrentApplicationInfo()](#oh_nativebundle_getcurrentapplicationinfo) | 获取当前应用信息,包含应用包名和应用指纹信息。 | 39| [char* OH_NativeBundle_GetAppId()](#oh_nativebundle_getappid) | 获取当前应用的appId。appId是应用的唯一标识,由应用包名和签名信息决定。在使用此接口后,为了避免内存泄漏,需要手动释放接口返回的指针。 | 40| [char* OH_NativeBundle_GetAppIdentifier()](#oh_nativebundle_getappidentifier)| 获取当前应用的应用程序标识符。该应用程序标识符在应用的整个生命周期中不会发生变化,包括版本更新、证书更改、公钥和私钥更改以及应用程序迁移。在使用此接口后,为了避免内存泄漏,需要手动释放接口返回的指针。 | 41| [OH_NativeBundle_ElementName_OH_NativeBundle_GetMainElementName()](#oh_nativebundle_getmainelementname) | 获取当前应用入口元素mainElement的信息,包括包名、模块名和组件名。在使用此接口后,为了避免内存泄漏,需要手动释放接口返回的指针。 | 42| [char* OH_NativeBundle_GetCompatibleDeviceType()](#oh_nativebundle_getcompatibledevicetype) | 获取当前应用适用的设备类型。在使用此接口后,为了避免内存泄漏,需要手动释放接口返回的指针。 | 43| [bool OH_NativeBundle_IsDebugMode(bool* isDebugMode)](#oh_nativebundle_isdebugmode) | 查询当前应用的调试模式。 | 44| [OH_NativeBundle_ModuleMetadata* OH_NativeBundle_GetModuleMetadata(size_t* size)](#oh_nativebundle_getmodulemetadata) | 获取当前应用程序的模块元数据数组。在使用此接口后,为了避免内存泄漏,需要手动释放接口返回的指针。 | 45 46## 函数说明 47 48### OH_NativeBundle_GetCurrentApplicationInfo() 49 50``` 51OH_NativeBundle_ApplicationInfo OH_NativeBundle_GetCurrentApplicationInfo() 52``` 53 54**描述** 55 56获取当前应用信息,包含应用包名和应用指纹信息。 57 58**起始版本:** 9 59 60**返回:** 61 62| 类型 | 说明 | 63| -- | -- | 64| [OH_NativeBundle_ApplicationInfo](capi-native-bundle-oh-nativebundle-applicationinfo.md) | 返回新创建的OH_NativeBundle_ApplicationInfo对象。如果返回的对象为NULL,则表示创建失败。<br> 失败的可能原因是应用程序地址空间已满,导致空间分配失败。 | 65 66### OH_NativeBundle_GetAppId() 67 68``` 69char* OH_NativeBundle_GetAppId() 70``` 71 72**描述** 73 74获取当前应用的appId。appId是应用的唯一标识,由应用包名和签名信息决定。在使用此接口后,为了避免内存泄漏,需要手动释放接口返回的指针。 75 76**起始版本:** 11 77 78**返回:** 79 80| 类型 | 说明 | 81| -- | -- | 82| char* | 返回一个新创建的字符串,用于指示appID信息。如果返回的对象为NULL,则表示创建失败。<br> 失败的可能原因是应用程序地址空间已满,导致空间分配失败。 | 83 84### OH_NativeBundle_GetAppIdentifier() 85 86``` 87char* OH_NativeBundle_GetAppIdentifier() 88``` 89 90**描述** 91 92获取当前应用的应用程序标识符。该应用程序标识符在应用的整个生命周期中不会发生变化,包括版本更新、证书更改、公钥和私钥更改以及应用程序迁移。在使用此接口后,为了避免内存泄漏,需要手动释放接口返回的指针。 93 94**起始版本:** 11 95 96**返回:** 97| 类型 | 说明 | 98| -- | -- | 99| char* | 返回一个新创建的字符串,用于指示应用程序标识符信息。如果返回的对象为NULL,则表示创建失败。<br> 失败的可能原因是应用程序地址空间已满,导致空间分配失败。 | 100 101### OH_NativeBundle_GetMainElementName() 102 103``` 104OH_NativeBundle_ElementName OH_NativeBundle_GetMainElementName() 105``` 106 107**描述** 108 109获取当前应用入口元素mainElement的信息,包括包名、模块名和组件名,在使用此接口后,为了避免内存泄漏,需要手动释放接口返回的指针。 110 111**起始版本:** 13 112 113**返回:** 114| 类型 | 说明 | 115| -- | -- | 116| [OH_NativeBundle_ElementName](capi-native-bundle-oh-nativebundle-elementname.md) | 返回新创建的OH_NativeBundle_ElementName对象。如果返回的对象为NULL,则表示创建失败。<br> 失败的可能原因是应用程序地址空间已满,导致空间分配失败。 | 117 118 119### OH_NativeBundle_GetCompatibleDeviceType() 120 121``` 122char* OH_NativeBundle_GetCompatibleDeviceType() 123``` 124 125**描述** 126 127获取当前应用适用的设备类型。用于将手机应用分发到平板/2in1设备时,合理适配布局和字体大小。在使用此接口后,为了避免内存泄漏,需要手动释放接口返回的指针。 128 129**起始版本:** 14 130 131**返回:** 132 133| 类型 | 说明 | 134| -- | -- | 135| char* | 返回一个新创建的字符串,用于指示兼容设备类型。如果返回的对象为NULL,则表示创建失败。<br> 失败的可能原因是应用程序地址空间已满,导致空间分配失败。 | 136 137### OH_NativeBundle_IsDebugMode() 138 139``` 140bool OH_NativeBundle_IsDebugMode(bool* isDebugMode) 141``` 142 143**描述** 144 145查询当前应用是否处于调试模式。 146 147**起始版本:** 20 148 149**参数:** 150 151| 参数项 | 描述 | 152| -- | -- | 153| bool* isDebugMode | 表示应用是否处于调试模式,取值为true表示可调试模式,取值为false表示不可调试模式。 | 154 155**返回:** 156 157| 类型 | 说明 | 158| -- | -- | 159| bool | 如果调用成功,则返回true,否则返回false。 | 160 161### OH_NativeBundle_GetModuleMetadata() 162 163``` 164OH_NativeBundle_ModuleMetadata* OH_NativeBundle_GetModuleMetadata(size_t* size) 165``` 166 167**描述** 168 169获取当前应用程序的模块元数据数组。在使用该接口之后,为了防止内存泄漏,需要手动释放接口返回的指针。 170 171**起始版本:** 20 172 173**参数:** 174 175| 参数项 | 描述 | 176| -- | -- | 177| size_t* size | 表示模块元数据数组大小。 | 178 179**返回:** 180 181| 类型 | 说明 | 182| -- | -- | 183| [OH_NativeBundle_ModuleMetadata*](capi-native-bundle-oh-nativebundle-modulemetadata.md) | 返回模块元数据数组,如果返回的对象为NULL,则表示获取失败。<br> 失败的可能原因是应用程序地址空间已满,导致空间分配失败。 | 184