openharmony 鸿蒙 OpenHarmony-v3.1-beta

2022-08-09 浏览 (2911)

OpenHarmony 3.1 Beta

版本概述

当前版本在OpenHarmony 3.0 LTS的基础上,更新支持了以下能力:

  • 标准系统OS基础能力增强:内核提升CMA利用率特性、图形新增支持RenderService渲染后端引擎、短距离通信支持STA(Station)和SoftAP基础特性、支持地磁场的算法接口、传感器驱动模型能力增强、支持应用帐号信息查询和订阅等、全球化特性支持、编译构建支持统一的构建模板、编译运行时提供Windows/MacOS/Linux的前端编译工具链、JS运行时支持预览器、新增支持JSON处理、Eventbus、Vcard、Protobuf、RxJS、LibphoneNumber等6个JS三方库、新增时间时区管理、DFX新增支持HiSysEvent部件提供查询和订阅接口。

  • 标准系统分布式能力增强:包括新增支持分布式DeviceProfile特性、分布式数据管理支持跨设备同步和订阅、分布式软总线支持网络切换组网、分布式文件系统支持Statfs API能力等。

  • 标准系统应用程序框架能力增强:新增ArkUI自定义绘制能力和Lottie动画能力、新增包管理探秘隐式查询和多hap包安装、事件通知支持权限管理、设置通知振动、通知声音设置和查询、通知免打扰、会话类通知等。

  • 标准系统应用能力增强:输入法应用支持文本输入和横屏下布局显示、短信应用信息管理、联系人应用通话记录和拨号盘显示、设置应用更多设置项。

  • 轻量系统能力增强:HiStreamer轻量级支持可定制的媒体管线框架、Linux版本init支持热插拔、OS轻内核&驱动启动优化、快速启动能力支持。

配套关系

表1 版本软件和工具配套关系

软件版本备注
OpenHarmony3.1 BetaNA
SDKOhos_sdk 3.1 Beta  (API Version 8 Beta)NA
HUAWEI DevEco Studio(可选)3.0 Beta2OpenHarmony应用开发推荐使用。
HUAWEI DevEco Device Tool(可选)3.0 Beta2OpenHarmony智能设备集成开发环境推荐使用。

源码获取

前提条件

  1. 注册码云gitee账号。

  2. 注册码云SSH公钥,请参考码云帮助中心

  3. 安装git客户端git-lfs并配置用户信息。

    git config --global user.name "yourname"
    git config --global user.email "your-email-address"
    git config --global credential.helper store
    
  4. 安装码云repo工具,可以执行如下命令。

    curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo  #如果没有权限,可下载至其他目录,并将其配置到环境变量中
    chmod a+x /usr/local/bin/repo
    pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
    

通过repo获取

方式一(推荐)

通过repo + ssh 下载(需注册公钥,请参考码云帮助中心)。

repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v3.1-Beta --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

方式二

通过repo + https 下载。

repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v3.1-Beta --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

从镜像站点获取

表2 获取源码路径

版本源码版本信息下载站点SHA256校验码
全量代码(标准、轻量和小型系统)3.1 Beta站点SHA256校验码
Hi3516标准系统解决方案(二进制)3.1 Beta站点SHA256校验码
RK3568标准系统解决方案(二进制)3.1 Beta站点SHA256校验码
Hi3861轻量系统解决方案(二进制)3.1 Beta站点SHA256校验码
Hi3516轻量系统解决方案-LiteOS(二进制)3.1 Beta站点SHA256校验码
Hi3516轻量系统解决方案-Linux(二进制)3.1 Beta站点SHA256校验码
标准系统SDK包(Mac)3.1 Beta站点SHA256校验码
标准系统SDK包(Windows\Linux)3.1 Beta站点SHA256校验码
编译工具链获取清单-站点-

更新说明

本版本在OpenHarmony 3.0 LTS的基础上有如下变更。

特性变更

表3 版本新增特性表

子系统名称标准系统轻量、小型系统
包管理子系统- I4MBSE:提供桌面包管理客户端
- I4MBSF:支持缓存清除能力
- I4MBSG:支持安装包信息查询
- I4MBSD:支持多hap包安装
- I4MBSH:支持多hap安装的签名校验
- I4MBSC:支持Module和Ability的srcPath字段
NA
分布式任务调度子系统-I4MBRW:SAMGR新增服务进程内的System Ability名单管控
-I4MBRV:SAMGR新增系统服务状态列表维护
-I4MBRZ:SAMGR新增全量服务列表初始化
-I4MBRY:SAMGR新增系统服务进程状态列表维护
-I4MBRX:SAMGR新增加载指定系统服务
NA
DeviceProfile子系统-I4NY23:本地设备Profile的插入、删除、查询
-I4NY1X:远程设备Profile的查询
-I4NY1T:订阅远程Profile变化的通知
-I4NY1W:跨设备同步Profile
NA
帐号子系统-I4MBQW:支持应用帐号的新增和删除
-I4MBQV:应用帐号基础信息约束
-I4MBQU:支持应用帐号订阅及取消订阅
-I4MBQT:支持应用帐号功能设置与内容修改
-I4MBQS:支持应用帐号信息查询
-I4IT3U:支持应用帐号基础信息管理
NA
泛sensor服务子系统-I3NJ96:加速度传感器数据上报
-I3NJ8H:陀螺仪传感器数据上报
-I3NJ7J:环境光传感器数据上报
-I3NJ76:磁力计传感器数据上报
-I4MBRP:地磁场偏角和倾角
-I4MBRQ:地磁场水平强度、总强度
NA
USB服务子系统I410OZ:
- 查询已连接的USB设备列表
- 获取USB设备临时访问权限
- 设置USB设备配置、接口
- 与USB设备进行数据传输
NA
语言编译器运行时子系统- I4MBUK:JavaScript/TypeScript默认运行时从quickjs替换为方舟运行时。
- I4MBUJ:方舟运行时内存回收功能增强,支持并发标记算法以及并发压缩算法,支持选择部分region进行压缩GC(Partial CompressionGC),优化GC pause time减少30%。
NA
全球化子系统- 支持国际化特性:单复数规则、字符串排序、电话号码处理、日历&本地历法、度量衡体系和格式化、区域表示和属性、时间段格式化、字母表检索、unicode字符属性、断词换行
- 支持系统资源、rawfile资源
NA
分布式软总线子系统-I4FZ29:软总线提供传输ExtAPI接口
-I4FZ25:软总线支持网络切换组网
-I4FZ29:软总线提供传输ExtAPI接口
-I4FZ25:软总线支持网络切换组网
启动子系统NA-I3XGJH:init基础环境构建
-I3XGKV:system parameter管理
-I3XGLN:init 脚本管理
-I3XGMQ:基础权限管理
-I3XGN8:bootimage构建和加载
-I3XGKV:uevent 管理
-I3XGNM:烧写模式支持
媒体子系统NA-I4BX5Z:HiStreamer支持音频播放和控制
-I4BX8A:HiStreamer支持常见音频格式mp3/wav的播放
-I4BX9E:HiStreamer播放引擎框架需求
-I4DK89:HiStreamer插件框架需求
-I4DK8D:HiStreamer性能和DFX需求
图形子系统全新设计OpenHarmony 图形栈:
新增UI框架渲染后端特性支持
新增ArkUI控件接入RenderService渲染后端
NA
内核子系统内核(Linux 5.10)
-I4LUG4 CMA内存区域复用(目前仅支持Hi3516DV300,暂不支持RK平台)
-I4LX4G 支持anonymous vma命名(目前仅支持Hi3516DV300,暂不支持RK平台)
-I3ND6Y:【性能】OS内核&驱动启动优化
启动恢复子系统NA-I3NTCT:Linux版本init支持热插拔
分布式数据对象管理子系统NA-I4H3JJ:分布式对象支持小型系统设备
电话子系统NA-I4JQ2N:提供Http JS API
-I4JQ3G:提供Http 2.0协议
Misc软件服务子系统I4MBQE:
支持应用读取时间
支持应用读取时区
支持时间修改通知
支持时区修改通知
支持分钟变化通知
NA
编译构建子系统I4K7E3:支持使用统一的编译命令作为编译入口
- I4KCNB:支持使用统一的gn模板
-I4MBQN:支持统一的编译入口、支持使用build.sh编译轻量、小型系统
-I4MBQP:支持统一的编译流程
-I4MBQR:支持统一的产品配置
文件存储子系统-I4MBS2:statfs获取设备总空间与剩余空间JS接口NA
驱动子系统-I4L3KK:传感器器件驱动能力增强,支持传感器采样率动态配置,三轴方向静态可配置,环境光增益调节。
-I4L3LF:传感器驱动模型能力增强,支持传感器HDI跨进程服务获取和调用。
-I4MBTS:HDF-Input设备能力丰富,支持摇杆设备数据上报。
-I4MBTR:Display HDI接口针对标准系统的参考实现,针对DRM显示架构,提供针对标准系统的Display HDI默认参考实现,有助于厂商参考适配HDI。
-I4HPR7:提供hcs宏式解析机制,编译时使用hc-gen工具把驱动的配置参数解析为宏定义参数,驱动通过hcs宏格式的接口访问宏定义参数。
-I4KVJQ:支持linux/liteos内核系统级休眠唤醒。
-I4L3ZZF:支持同步/异步电源管理调用,提供同步/异步的管理HDF设备进入休眠或者被唤醒的机制。
-I4L3KK:传感器器件驱动能力增强,支持传感器采样率动态配置,三轴方向静态可配置,环境光增益调节。
-HDF-Input设备能力丰富(linux系统),支持摇杆设备数据上报。
-I4HPR7:提供hcs宏式解析机制,编译时使用hc-gen工具把驱动的配置参数解析为宏定义参数,驱动通过hcs宏格式的接口访问宏定义参数。
-I4KVJQ:支持linux/liteos内核系统级休眠唤醒。
-I4L3ZZF:支持同步/异步电源管理调用,提供同步/异步的管理HDF设备进入休眠或者被唤醒的机制。
ArkUI子系统- I4MBUY:事件中增加Target获取尺寸
- I4MBUZ:Swiper组件支持设置缓存cache
- I4MBV1:Image组件支持同步、异步渲染设置
- I4MBV3:样式设置特性增加组件多态样式设置
- I4MBV5:字母索引条组件增加提示菜单内容扩展
- I4MBV6:组件自定义特性增加自定义容器组件规格
- I4MBV7:滚动条样式自定义能力
- I4MBV8:Swiper组件新增切换禁用规格
- I4MBV9:Tabs组件新增TabBar内容自定义规格
- I4MBVA:Navigation组件新增标题栏设置规格
- I4MBVB:工具栏组件增加工具栏显隐控制规格
- I4MBVC:工具栏组件增加内容自定义能力规格
- I4MBVD:新增SysCap声明编译特性
- I4MBVE:新增JSSDK编译特性
- I4MBVF:新增Config.json编译特性
- I4MBVG:新增断点调试特性支持单实例调试
- I4MBVH:新增attach调试特性支持单实例调试
- I4MBVI:新增声明式范式编译特性支持编译和校验规格
- I4MBVJ:新增JS模块共享编译特性
- I4MBVK:新增HAR引用和编译特性
- I4MBVL:新增NPM引用和编译特性、
- I4MBVN:纵向显示滑动条组件特性
- I4MBVO:Popup组件增加内容自定义规格
- I4MBVP:Canvas绘制能力支持
- I4MBVQ:Canvas能力增强
- I4MBVR:触摸响应热区设置
- I4MBVS:Lottie动画支持
- I4MBVT:组件尺寸获取特性
- I4MBVU:Menu组件增加内容自定义规格
- I4MBVV:Swipe手势特性
- I4MBVW:UI预览支持Inspector能力
- I4MBVX:新增非路由文件预览特性
- I4MBVY:新增NAPI预览特性
- I4MBVZ:新增声明式范式预览特性。支持基础预览规格
- I4MBW2:新增声明式范式热加载特性,支持已有节点修改规格
- I4MBW3:新增声明式范式热加载特性,支持新增节点规格
- I4MBW4:新增声明式范式热加载特性,支持删除节点规格
- I4MBW5:新增组件预览特性,支持页面组件预览规格
通用属性新增点击控制 touchable:设置组件是否可以被触摸。
基础组件新增Marquee:跑马灯组件。
基础组件新增Gauge:数据量规图表组件。
基础组件新增TextArea:多行文本输入组件。
基础组件新增TextInput:单行文本输入组件。
基础组件新增Toggle:状态组件。
容器组件新增Stepper:步骤导航器组件。
容器组件新增StepperItem:步骤导航器导航项组件。
新增全局UI方法ActionSheet:列表选择弹窗。
NA
DFX子系统-I4MBQH:支持HiSysEvent部件,提供查询、订阅接口
-I4MBQJ:提供工具查询或者订阅系统事件
-I4MBQL:支持Hiappevent部件的C接口
NA
应用子系统-I4MBU1:支持Settings数据管理API
-I4MBU3:支持时间设置
- I4MBU5:支持声音管理
-I4MBU6:支持Settings数据管理
-I4MBU7:支持Settings数据默认值管理
-I4MBU8:支持Settings多设备形态差异化构建
-I4MBU9:通知组件化
NA

API变更

API变更请参考:

JS API 差异报告

Native API差异报告

Changelog

芯片及开发板适配

芯片及开发板适配状态请参考SIG-Devboard信息。

Samples & Codelabs

新增Samples

表4 Samples列表

名称简介开发语言
Ets公共事件本示例展示了在ArkTS中如何使用CommonEvent的接口完成创建订阅者、订阅公共事件、发布公共事件、取消订阅的功能。ArkTS
空气质量本示例使用JS实现了一个简单空气质量应用,使用折行显示能力显示空气质量信息,使用柱形图展示历史记录。JS
分布式计算器本示例使用JS分布式能力实现了一个简单的计算器应用,可以进行简单的数值计算,支持远程拉起另一个计算器FA,两个FA进行协同计算。JS
EtsNotification本示例展示了在ArkTS中如何创建和删除Slot通道,如何发布和取消通知。ArkTS
Ets资源管理本示例展示了在ArkTS中如何调用资源管理的API接口实现字符串和图片资源信息的获取。ArkTS
kikainputkikainput是一个轻量级的输入法应用,支持在运行OpenHarmony OS的智能终端上。JS
ArkTS分布式数据管理本示例展示了在ArkTS中分布式数据管理的使用,包括KVManager对象实例的创建和KVStore数据流转的使用。ArkTS
轻量级数据存储轻量级数据存储主要提供轻量级Key-Value操作,支持本地应用存储少量数据。本示例通过对购物车商品的添加和删除并保存退出的操作,使得再次打开应用时依然可以保留退出前的购物车信息,体现了轻量级存储在保存轻量级数据时的作用。ArkTS
Ets进程信息本示例展示了在ArkTS中如何获取进程信息和启动一个子进程运行一段shell,包括当前系统运行时间、获取进程当前工作目录、更改进程当前工作目录、发送signal到指定的进程、启动一个子进程、关闭子进程、退出当前系统的功能。ArkTS
Ets运行锁本示例展示了阻止系统休眠的运行锁功能,通过黑白色壁纸模拟息屏、亮屏状态,来展示系统的休眠状态,从而对运行锁的功能进行测试,使得该运行锁在打开后可以阻止系统休眠。ArkTS
字符串编解码本示例对字符串进行了特定格式的输出,对错误码的内容进行了文本输出,对字符串的编码和解码做了演示结果。ArkTS
Js音频播放和管理本示例展示了JS音频播放的使用方法,以及音频的音量大小设置。JS
JsVideo本示例使用JS UI中的<video/>组件,实现视频播放。可以通过video自带的控制栏进行播放、暂停等操作。JS
测试打点本示例展示了测试打点功能,包括应用打点与性能打点两部分。JS
JsWorker本示例展示了在JS中如何启动一个worker线程,并实现worker线程和宿主线程的通信。JS
画布组件<canvas/>组件可以自定义绘制图形,本示例展示了<canvas>组件的使用方法JS
JS页面弹窗JS中支持用户自定义弹窗,<dialog/>组件作为容器组件,用户可以自定义弹窗的样式和布局。本示例完成了添加和删除联系人功能,在添加和删除时使用自定义弹窗来实现。JS
JSList商品列表本示例展示了list控件在商品分类列表中的应用,在listGroup里采用两个list-item分别展示了Group收缩和Group展开的两种列表形态,点击后会弹出相应的list列表。JS
JSPanelJS提供一种轻量级的内容展示面板,此面板可滑动,可自定义触发方式、弹出高度等属性。本示例通过可滑动面板展示了商品详细信息与平台保障。JS
JsSvg本示例展示了JS中<svg>组件及其子组件的使用,包括<svg>、<rect>、<circle>、<ellipse>、<path>、<line>、<polygon>、<polyline>、<text>、<animate>、<animateTransform> 。JS
JS自定义组件自定义组件是用户根据业务需求,将已有的组件组合,封装成的新组件,可以在工程中多次调用,提高代码的可读性。本示例展示了JS中自定义组件的使用,包括基本用法、自定义事件、Props和事件参数。JS

新增Codelabs

表5 Codelabs列表

名称简介开发语言
分布式手写板(ArkTS)基于分布式能力,实现多设备同步书写互动。ArkTS
分布式数据库基于分布式数据接口,实现多种设备上一致的数据访问体验。JS
购物应用(ArkTS)基于OpenHarmony ArkUI丰富的组件实现购物商城应用。ArkTS
转场动画的使用(ArkTS)基于OpenHarmony ArkUI转场动画,实现了页面间转场、组件内转场以及共享元素转场。ArkTS
基础组件Slider的使用(ArkTS)基于OpenHarmony eTS UI,使用slider组件,实现可调节风车大小和转速的动画效果。ArkTS
自定义弹窗(ArkTS)基于OpenHarmony ArkUI,实现警告弹窗和自定义弹窗。ArkTS

修复缺陷列表

表6 修复缺陷ISSUE列表

ISSUE单号问题描述
I48IM7运行hilog压力测试,hilogd异常重启,且hilog命令一直无法使用。
I48YPH【软总线-组网】测试发现和组网性能(循环离网-发现-组网)110次组网失败3次。
I4BVVW【软总线-组网】标准系统与手机开关网络自组网成功率97%失败3次需分析失败原因。
I4BXY1视频录制后前几秒没声音,播放声画不同步,在板子播放会卡顿,音源较远时,有杂音。
3ZJ1DXTS权限用例压测用户态概率失败。

遗留缺陷列表

表7 遗留缺陷列表

ISSUE问题描述影响计划解决日期
I4NRS5【内核子系统】存在cve漏洞Linux内核还未发布补丁,暂时挂起,待社区发布补丁后升级同步。待社区发布补丁
I4MGJM【hdf/camera】RK3568单板跑camera HDI用例失败拍照和预览正常,可以正常录像,点击结束按钮,不能结束。2021/12/31
I4OECRXTS运行报ark异常栈(低概率问题)XTS压力测试低概率偶现(48小时出现1次),仅Log中上报异常栈,对功能无影响。2022/1/5
I4OBTW全量执行XTS用例,安装应用后出现批量aa start 失败,影响社区流水线稳定性测试XTS压力测试,短时间内批量安装100个应用包,低概率(2个/100个)出现应用无法启动。用户使用无影响。2022/1/5
I4OLHF【Ark子系统】 由进程com.amsst.amsMissionSnapshotTest导致测试进程异常低概率、偶现,高压力测试偶现问题。2022/1/5
I4OLUK【Ark子系统】 由进程com.ohos.systemui导致进程栈异常低概率、偶现,高压力测试偶现问题。2022/1/5

你可能感兴趣的鸿蒙文章

harmony 鸿蒙OpenHarmony 1.0(2020-09-10)(停止维护)

harmony 鸿蒙OpenHarmony 1.1.0 LTS(2021-04-01)(停止维护)

harmony 鸿蒙OpenHarmony 1.1.1 LTS(2021-06-22)(停止维护)

harmony 鸿蒙OpenHarmony 2.0 Canary(2021-06-01)

harmony 鸿蒙OpenHarmony v1.1.3 LTS (停止维护)

harmony 鸿蒙OpenHarmony 1.1.4 LTS (停止维护)

harmony 鸿蒙OpenHarmony v1.1.2 LTS (停止维护)

harmony 鸿蒙OpenHarmony 1.1.5 LTS (停止维护)

harmony 鸿蒙OpenHarmony v2.2 Beta2

harmony 鸿蒙OpenHarmony 3.0 LTS

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/56a6534ed53a4faeb4abb4b550084ee5