# 升级服务组件 - [简介](#section184mcpsimp) - [目录](#section193mcpsimp) - [说明](#section208mcpsimp) - [JS接口说明](#section210mcpsimp) - [使用说明](#section253mcpsimp) - [相关仓](#section366mcpsimp) ## 简介 升级服务组件是一个SA\(System Ability\), 由OHOS 的init 进程负责启动。 升级服务器引擎主要功能包括: 1、查找可用的升级包 2、下载升级包 3、设置/获取升级策略 4、触发升级 ## 目录 ``` base/update/updateservice # 升级服务代码仓目录 ├── interfaces # 升级客户端接口目录 │ ├── kits # 对外接口封装目录 │ │ └── js # 提供给升级客户端应用的JS 接口目录 │ └── inner_api # SA 接口定义和封装目录 ├── frameworks # 部件无独立进程的实现 │ └── js # JS API的实现 │ └── napi # napi代码实现 │ └── client # 升级客户端napi 接口目录 ├── services # 独立进程的实现 │ ├── callback # 提供给升级客户端应用的callback接口目录 │ └── engine # 升级客户端引擎服务目录 │ ├── etc # 升级客户端引擎rc配置文件目录 │ ├── include # 升级客户端引擎头文件目录 │ ├── sa_profile # SA 配置文件目录 │ └── src # 升级客户端引擎源码目录 ├── test # 测试代码目录 │ ├── unittest # 升级客户端UT代码目录 │ └── fuzztest # 升级客户端FT代码目录 ├── BUILD.gn # 编译入口 └── bundle.json # 部件描述文件 ``` ## 说明 ### JS接口说明

接口

说明

checkNewVersion

检查是否有可用的升级包版本

download()

下载升级包

upgrade()

将升级命令写入到misc分区,最终调用reboot命令,进入到updater 子系统中。

getNewVersionInfo()

升级完成后,获取升级后的版本信息

setUpgradePolicy

设置升级策略

getUpgradePolicy

获取升级策略

### 使用说明 1,导入updateclient lib ``` import client from 'libupdateclient.z.so' ``` 2,获取update对象 ``` let updater = client.getUpdater('OTA'); ``` 3,获取新版本信息 ``` updater.getNewVersionInfo(info => { info "新版本信息" }); ``` 4,检查新版本 ``` updater.checkNewVersion(info => { info "新版本信息" }); ``` 5,下载新版本,并监听下载进程 ``` updater.download(); updater.on("downloadProgress", progress => { progress "下载进度信息" }); ``` 6,启动升级 ``` updater.upgrade(); updater.on("upgradeProgress", progress => { progress "升级进度信息" }); ``` 7,设置升级策略 ``` updater.setUpgradePolicy(result => { result "设置升级策略结果" }); ``` 8,查看升级策略 ``` updater.getUpgradePolicy(policy => { policy "升级策略" }); ``` ## 相关仓 升级子系统 [update\_app](https://gitee.com/openharmony/update_app) **update\_updateservice** [update\_updater](https://gitee.com/openharmony/update_updater)