1# hnp_api.h
2
3## 概述
4
5提供支持Native软件的安装和卸载功能。
6
7### 文件
8
9| 名称      | 描述                                                                                                                                  |
10| --------- | ------------------------------------------------------------------------------------------------------------------------------------- |
11| hnp_api.h | 提供支持Native软件的安装和卸载的函数。<br/>**引用文件**:&lt;hnp_api.h&gt;<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