# 升级服务组件
- [简介](#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)