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    typedef enum {
60        OPTION_INDEX_FORCE = 0,  /* installed forcely */
61        OPTION_INDEX_BUTT
62    } HnpInstallOptionIndex;
63  ```
64
65**返回:**
66
67安装成功返回0;失败返回错误码
68
69### NativeUnInstallHnp
70
71```
72int NativeUnInstallHnp(const char *userId, const char *packageName);
73```
74
75**描述**
76
77  卸载设备中已安装的Native软件。
78
79  参数:
80
81  userId:用户ID;
82
83  packageName:hap应用软件包名;
84
85**返回:**
86
87卸载成功返回0;失败返回错误码
88