169570cc8Sopenharmony_ci# hnp_api.h
269570cc8Sopenharmony_ci
369570cc8Sopenharmony_ci## 概述
469570cc8Sopenharmony_ci
569570cc8Sopenharmony_ci提供支持Native软件的安装和卸载功能。
669570cc8Sopenharmony_ci
769570cc8Sopenharmony_ci### 文件
869570cc8Sopenharmony_ci
969570cc8Sopenharmony_ci| 名称 | 描述 |
1069570cc8Sopenharmony_ci| -------- | -------- |
1169570cc8Sopenharmony_ci| hnp_api.h | 提供支持Native软件的安装和卸载的函数。<br/>**引用文件**:&lt;hnp_api.h&gt;<br/>**库**:libhnpapi.z.so |
1269570cc8Sopenharmony_ci
1369570cc8Sopenharmony_ci
1469570cc8Sopenharmony_ci### 结构体定义
1569570cc8Sopenharmony_ciNA
1669570cc8Sopenharmony_ci
1769570cc8Sopenharmony_ci### 函数
1869570cc8Sopenharmony_ci
1969570cc8Sopenharmony_ci| 名称 | 描述 |
2069570cc8Sopenharmony_ci| -------- | -------- |
2169570cc8Sopenharmony_ci| [NativeInstallHnp](#nativeinstallhnp) | 安装Native软件到设备中 |
2269570cc8Sopenharmony_ci| [NativeUnInstallHnp](#nativeuninstallhnp)| 卸载设备中已安装的Native软件 |
2369570cc8Sopenharmony_ci
2469570cc8Sopenharmony_ci## 函数说明
2569570cc8Sopenharmony_ci
2669570cc8Sopenharmony_ci### NativeInstallHnp
2769570cc8Sopenharmony_ci
2869570cc8Sopenharmony_ci```
2969570cc8Sopenharmony_ciint NativeInstallHnp(const char *userId, const char *hnpRootPath, const HapInfo *hapInfo, int installOptions);
3069570cc8Sopenharmony_ci```
3169570cc8Sopenharmony_ci
3269570cc8Sopenharmony_ci**描述**
3369570cc8Sopenharmony_ci
3469570cc8Sopenharmony_ci  安装Native软件到设备中。
3569570cc8Sopenharmony_ci
3669570cc8Sopenharmony_ci  参数:
3769570cc8Sopenharmony_ci
3869570cc8Sopenharmony_ci  userId:用户ID;
3969570cc8Sopenharmony_ci
4069570cc8Sopenharmony_ci  hapPath:hap包所在路径。用于签名校验
4169570cc8Sopenharmony_ci
4269570cc8Sopenharmony_ci  hnpRootPath:hnp安装包存放路径;
4369570cc8Sopenharmony_ci
4469570cc8Sopenharmony_ci  hapInfo:hap应用软件信息,结构如下。
4569570cc8Sopenharmony_ci  ```
4669570cc8Sopenharmony_ci    #define PACK_NAME_LENTH 256
4769570cc8Sopenharmony_ci    #define HAP_PATH_LENTH 256
4869570cc8Sopenharmony_ci    #define ABI_LENTH 128
4969570cc8Sopenharmony_ci
5069570cc8Sopenharmony_ci    typedef struct HapInfo {
5169570cc8Sopenharmony_ci        char packageName[PACK_NAME_LENTH]; // 包名
5269570cc8Sopenharmony_ci        char hapPath[HAP_PATH_LENTH];      // hap文件路径
5369570cc8Sopenharmony_ci        char abi[ABI_LENTH];               // abi路径
5469570cc8Sopenharmony_ci    } HapInfo;
5569570cc8Sopenharmony_ci  ```
5669570cc8Sopenharmony_ci
5769570cc8Sopenharmony_ci  installOptions:安装选项。其中每一位对应的选项信息枚举如下。
5869570cc8Sopenharmony_ci  ```
5969570cc8Sopenharmony_ci    typedef enum {
6069570cc8Sopenharmony_ci        OPTION_INDEX_FORCE = 0,  /* installed forcely */
6169570cc8Sopenharmony_ci        OPTION_INDEX_BUTT
6269570cc8Sopenharmony_ci    } HnpInstallOptionIndex;
6369570cc8Sopenharmony_ci  ```
6469570cc8Sopenharmony_ci
6569570cc8Sopenharmony_ci**返回:**
6669570cc8Sopenharmony_ci
6769570cc8Sopenharmony_ci安装成功返回0;失败返回错误码
6869570cc8Sopenharmony_ci
6969570cc8Sopenharmony_ci### NativeUnInstallHnp
7069570cc8Sopenharmony_ci
7169570cc8Sopenharmony_ci```
7269570cc8Sopenharmony_ciint NativeUnInstallHnp(const char *userId, const char *packageName);
7369570cc8Sopenharmony_ci```
7469570cc8Sopenharmony_ci
7569570cc8Sopenharmony_ci**描述**
7669570cc8Sopenharmony_ci
7769570cc8Sopenharmony_ci  卸载设备中已安装的Native软件。
7869570cc8Sopenharmony_ci
7969570cc8Sopenharmony_ci  参数:
8069570cc8Sopenharmony_ci
8169570cc8Sopenharmony_ci  userId:用户ID;
8269570cc8Sopenharmony_ci
8369570cc8Sopenharmony_ci  packageName:hap应用软件包名;
8469570cc8Sopenharmony_ci
8569570cc8Sopenharmony_ci**返回:**
8669570cc8Sopenharmony_ci
8769570cc8Sopenharmony_ci卸载成功返回0;失败返回错误码
88