1# hnp_api.h 2 3## 概述 4 5提供支持Native软件的安装和卸载功能。 6 7### 文件 8 9| 名称 | 描述 | 10| --------- | ------------------------------------------------------------------------------------------------------------------------------------- | 11| hnp_api.h | 提供支持Native软件的安装和卸载的函数。<br/>**引用文件**:<hnp_api.h><br/>**库**:libhnpapi.z.so | 12 13### 结构体定义 14 15NA 16 17### 函数 18 19| 名称 | 描述 | 20| -------------------------------------- | ---------------------------- | 21| [NativeInstallHnp](#nativeinstallhnp) | 安装Native软件到设备中 | 22| [NativeUnInstallHnp](#nativeuninstallhnp) | 卸载设备中已安装的Native软件 | 23 24## 函数说明 25 26### NativeInstallHnp 27 28``` 29int NativeInstallHnp(const char *userId, const char *hnpRootPath, const HapInfo *hapInfo, int installOptions); 30``` 31 32**描述** 33 34 安装Native软件到设备中。 35 36 参数: 37 38 userId:用户ID; 39 40 hapPath:hap包所在路径。用于签名校验 41 42 hnpRootPath:hnp安装包存放路径; 43 44 hapInfo:hap应用软件信息,结构如下。 45 ``` 46 #define PACK_NAME_LENTH 256 47 #define HAP_PATH_LENTH 256 48 #define ABI_LENTH 128 49 50 typedef struct HapInfo { 51 char packageName[PACK_NAME_LENTH]; // 包名 52 char hapPath[HAP_PATH_LENTH]; // hap文件路径 53 char abi[ABI_LENTH]; // abi路径 54 } HapInfo; 55 ``` 56 57 installOptions:安装选项。其中每一位对应的选项信息枚举如下。 58 59``` 60 typedef enum { 61 OPTION_INDEX_FORCE = 0, /* installed forcely */ 62 OPTION_INDEX_BUTT 63 } HnpInstallOptionIndex; 64``` 65 66**返回:** 67 68安装成功返回0;失败返回错误码 69 70### NativeUnInstallHnp 71 72``` 73int NativeUnInstallHnp(const char *userId, const char *packageName); 74``` 75 76**描述** 77 78 卸载设备中已安装的Native软件。 79 80 参数: 81 82 userId:用户ID; 83 84 packageName:hap应用软件包名; 85 86**返回:** 87 88卸载成功返回0;失败返回错误码 89