Chinaunix首页 | 论坛 | 博客
  • 博客访问: 44352
  • 博文数量: 16
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 175
  • 用 户 组: 普通用户
  • 注册时间: 2023-08-21 10:33
文章分类
文章存档

2024年(10)

2023年(6)

我的朋友

分类: 其他平台

2023-08-21 10:56:58

简介
升级包安装组件运行在updater分区,其功能主要包括读取misc分区信息获取升级包状态,对升级包进行校验,确保升级包合法有效;然后从升级包中解析出升级的可执行程序,创建子进程并启动升级程序。具体升级的动作由升级脚本控制。本文将介绍如何针对OpenHarmony L2场景适配updater模式。主要内容包括:
1.OTA升级实现原理
2.OTA升级适配
3.升级包制作工具
4.升级包制作流程
5.OTA升级UX界面适配
6.示例服务器开发概述

前置条件
参考OpenHarmony官方指导,完成正常系统编译和内核启动,能进入正常模式,且运行正常。
芯片需配置包含updater分区和misc分区的分区表。updater分区大小不小于32M。

1、OTA升级实现原理
1.1 OTA实现主要流程:


1.2 升级服务组件
升级服务组件是一个SA(System Ability), 由OHOS 的init 进程负责启动。

升级服务器引擎主要功能包括:

1、查找可用的升级包

2、下载升级包

3、设置/获取升级策略

4、触发升级

代码目录

  1. base/update/updateservice # 升级服务代码仓目录
  2. ├── interfaces # 升级客户端接口目录
  3. │ ├── kits # 对外接口封装目录
  4. │ │ └── js # 提供给升级客户端应用的JS 接口目录
  5. │ └── inner_api # SA 接口定义和封装目录
  6. ├── frameworks # 部件无独立进程的实现
  7. │ └── js # JS API的实现
  8. │ └── napi # napi代码实现
  9. │ └── client # 升级客户端napi 接口目录
  10. ├── services # 独立进程的实现
  11. │ ├── callback # 提供给升级客户端应用的callback接口目录
  12. │ └── engine # 升级客户端引擎服务目录
  13. │ ├── etc # 升级客户端引擎rc配置文件目录
  14. │ ├── include # 升级客户端引擎头文件目录
  15. │ ├── sa_profile # SA 配置文件目录
  16. │ └── src # 升级客户端引擎源码目录
  17. ├── test # 测试代码目录
  18. │ ├── unittest # 升级客户端UT代码目录
  19. │ └── fuzztest # 升级客户端FT代码目录
  20. ├── BUILD.gn # 编译入口
  21. └── bundle.json # 部件描述文件

JS接口说明

接口 说明
checkNewVersion 检查是否有可用的升级包版本
download() 下载升级包
upgrade() 将升级命令写入到misc分区,{BANNED}最佳终调用reboot命令,进入到updater 子系统中。
getNewVersionInfo() 升级完成后,获取升级后的版本信息
setUpgradePolicy 设置升级策略
getUpgradePolicy 获取升级策略

使用说明

1,导入updateclient lib

import client from 'libupdateclient.z.so' 

2,获取update对象

let updater = client.getUpdater('OTA'); 

3,获取新版本信息

  1. updater.getNewVersionInfo(info => {
  2. info "新版本信息"
  3. });

4,检查新版本

  1. updater.checkNewVersion(info => {
  2. info "新版本信息"
  3. });

5,下载新版本,并监听下载进程

  1. updater.download();
  2. updater.on("downloadProgress", progress => {
  3. progress "下载进度信息"
  4. });

6,启动升级

-----------------------------欲知详情,请移步LAVAL社区-----------------------------

阅读(253) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~