版本概述
OpenHarmony 4.0版本标准系统能力持续完善:ArkUI进一步增强基础组件能力,应用框架支持ArkTS卡片代理刷新,应用包支持应用、支持原子化服务数据共享、支持企业应用的安装管理,分布式软总线支持会话级的传输能力协商,分布式数据管理UDMF(统一数据管理框架)支持跨设备拖拽场景下对分布式目录的文件临时授权、文件管理支持公共图片文件在设备端和云端进行同步,媒体进一步增强音频/媒体播放/音视频编解码能力,图形渲染库升级至Skia 0310新版本,窗口控件化能力继续增强,事件通知支持选定通知并批量删除通知,安全基础提供DSA数字签名算法能力,ArkCompiler方舟运行时支持JSContext功能、支持动态PGO功能,DFX提供统一的采集框架能力,方便开发者对应用的调试调测。
特性说明
应用框架
ArkUI
-
Xcomponent组件支持Texture模式绘制、popup支持位置自定义、弹框支持通过键盘ESC键逐层退出、ListItem支持长距离左滑删除手势、ArkTS/JS卡片支持渲染完成回调、Image/Text组件支持隐私遮罩、ContextMenu支持分段显示能力。
-
动画效果增强,包括:布局属性、背景图片大小位置属性、显隐属性支持隐式动效,list支持scrollToIndex动效、Tabs模糊动效、popup出现/消失动效,支持自定义动画,满足开发者多种多样动画诉求。
-
开发效率增强:支持命名路由的能力,借助此能力可针对不同页面设置不同的切换动效;轻量级ArkUI框架支持定义全局数据对象,可进行应用内页面间的数据共享。
-
全局API支持Stage模型多实例场景。
应用包管理
分布式数据管理
-
UDMF(统一数据管理框架)支持跨设备拖拽场景下对分布式目录的文件临时授权。
-
提供RDBstore NDK接口 :包含增/删/改/查/事务、数据加密、数据分级保护、备份/恢复能力。
-
Key-Value和分布式数据对象支持根据数据量自动选择数据同步的通道。系统会根据数据量大小自动选择蓝牙通道或基于WiFi的P2P通道进行数据的同步。
分布式软总线
分布式硬件
文件管理
图形显示及窗口
图形
-
支持对选定区域取色,可选定区域后获得该区域的主色值、平均色值等参数并按需使用。
-
支持设置旋转中心在Z轴锚点的偏移,允许在旋转过程中修改渲染的锚点。
-
图形处理依赖的渲染库升级至Skia 0310新版本,提升了显示性能。
窗口
媒体
音频
-
支持音效框架:设备厂商可配置音效策略和加载自定义音效;应用可查询音频输出的音效模式,切换或关闭音效模式。
-
支持系统内录音能力:可根据音频场景属性筛选,录制系统内播放的音频数据。
-
支持获取音频设备显示名:播放对象详细信息内可获取当前播放输出归属的设备名。
媒体播放
支持音效参数配置,可以在音频框架支持音效的能力基础上进一步配置音效。
音视频编解码
-
支持通过Native API查询系统的音视频编解码能力。
-
支持通过Native API完成音视频封装,即将音频、视频等编码后的媒体数据,按一定的格式存储到文件里。
-
支持通过Native API完成音视频解封装,即从比特流数据中取出音频、视频等媒体帧数据。
事件通知
-
支持选定通知并批量删除通知。
-
emitter支持取消按条件指定订阅回调能力。
基础通信
-
WiFi支持后台扫描的能力。
-
WiFi支持STA模式下的随机MAC能力。
网络与通信
-
支持与服务器端通过TCP Socket进行通信。
-
支持用户将数据传送到远程服务器。
-
支持HTTPS证书的管理适配。
-
支持网卡代理。
系统服务管理
电源
多模输入
主题框架
上传下载
支持查询上传和下载的任务、任务状态信息同步和任务记录持久化、任务状态查询和异常的恢复。
安全
加解密算法库框架
-
提供DSA数字签名算法能力。
-
提供DSA、ECC、RSA密钥解析和密钥参数的获取能力。
-
提供安全随机数生成算法类型的获取能力。
-
提供SM4密钥的随机生成与转换,以及加密解密能力。
-
提供SM3密钥的HMAC和HASH的能力。
-
提供SM2密钥的随机生成与转换、签名及验签、以及加密解密能力。
密钥管理
设备互信认证
支持在以下两种场景的设备间互信认证流程中生成假名,支持识别及和标识设备的假名化名称。
-
对使用同帐号登录的多个设备进行互信认证。
-
对非同帐号的点对点互联的两个设备进行互信认证。
程序访问控制
帐号
WebView
-
W3C能力补充完善:补充Web Camera能力,以及bindContextMenu、Select、date类型input等H5标签能力。
-
支持多渲染进程的进程拆分。
-
支持文字、图片基础拖拽能力。
-
支持WebRTC的视频会议能力(不含摄像头共享)。
-
支持渲染进程独立SELinux标签,增强安全基础能力。
ArkCompiler
-
方舟运行时支持JSContext功能;支持动态PGO功能,可采集运行期的类型和函数热点信息,并生成AP文件;支持动态import加载NAPI库。
-
方舟编译器type编译模式下前端编译工具链切换到es2abc。
-
NAPI buffer、object、arraybuffer、object type接口功能补齐。
-
Taskpool支持任务中断和取消,支持定义任务组(TaskGroup),支持对任务的状态和调度信息进行打点,支持超长等待的任务进行识别和恢复。
-
编译构建能力提供OpenHarmony系统user和root不同权限版本的构建,user版本能力同步支持Wukong测试工具和XTS测试能力。
-
编译工具链支持预览器上的调试能力。
DFX
-
提供统一的采集框架能力,方便开发者对应用的调试调测。
-
提供统一的trace采集能力。
-
提供Native的HiTraceMeter打点接口。
-
性能雷达提供工具类,方便各业务模块(子系统)在业务流程上传递性能埋点记录及结算性能数据。
内核
代码执行权限管控能力增强,新增了以下能力:
-
支持安全内存机制。
-
提供满足不同场景的代码执行权限管控策略。
-
提供代码执行权限管控的全生命周期管理能力。
-
支持解析可执行文件获取代码段信息。
-
支持代码页的完整性保护能力。
驱动
配套关系
表1 版本软件和工具配套关系
| 软件 |
版本 |
备注 |
| OpenHarmony |
4.0 Beta2 |
NA |
| Public SDK |
Ohos_sdk_public 4.0.9.6 (API Version 10 Beta2) |
面向应用开发者提供,不包含需要使用系统权限的系统接口。通过DevEco Studio默认获取的SDK为Public SDK。 |
| HUAWEI DevEco Studio(可选) |
4.0 Beta2 |
OpenHarmony应用开发推荐使用。获取方式: Windows(64-bit)
SHA256校验码:ae9b228fb1f79e99441e10bdcf347ebfc42266be8b170bbce3c9764ba32d82a4 Mac(X86)
SHA256校验码:5c9afc5b1262868b58376155f1e8576d33c1ade8b01091edc4d7d397cd34026c Mac(ARM)
SHA256校验码:ea6c98cafd5036e4a6fd46b0b1cde3a306953b1eef423d5940f1af7c632205d6 |
| HUAWEI DevEco Device Tool(可选) |
4.0 Beta1 |
OpenHarmony智能设备集成开发环境推荐使用。获取方式: 点击跳转至下载页面 |
源码获取
前提条件
-
注册码云gitee帐号。
-
注册码云SSH公钥,请参考码云帮助中心。
-
安装git客户端和git-lfs并配置用户信息。
git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
-
安装码云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 + https 下载。
从镜像站点获取
表2 获取源码路径
| 版本源码 |
版本信息 |
下载站点 |
SHA256校验码 |
软件包容量 |
| 全量代码(标准、轻量和小型系统) |
4.0 Beta2 |
站点 |
SHA256校验码 |
27.7 GB |
| Hi3861解决方案(二进制) |
4.0 Beta2 |
站点 |
SHA256校验码 |
27.5 MB |
| Hi3516解决方案-LiteOS(二进制) |
4.0 Beta2 |
站点 |
SHA256校验码 |
300.9 MB |
| Hi3516解决方案-Linux(二进制) |
4.0 Beta2 |
站点 |
SHA256校验码 |
192.4 MB |
| RK3568标准系统解决方案(二进制) |
4.0 Beta2 |
站点 |
SHA256校验码 |
5.2 GB |
| 标准系统Public SDK包(Mac) |
4.0.9.6 |
站点 |
SHA256校验码 |
832.3 MB |
| 标准系统Public SDK包(Mac-M1) |
4.0.9.6 |
站点 |
SHA256校验码 |
788.4 MB |
| 标准系统Public SDK包(Windows/Linux) |
4.0.9.6 |
站点 |
SHA256校验码 |
2.0 GB |
更新说明
本版本在OpenHarmony 4.0 Beta1的基础上有如下变更:
API
OpenHarmony 4.0 Beta2的API范围相比4.0 Beta1,API变更的清单请参见“API差异报告”。极少量接口的变更可能影响到已开发的应用(使用API 9或更早版本API开发的应用),变更影响的说明和接口的适配指导请参见“changelogs”。
特性变更
详见版本概述。
芯片及开发板适配
芯片及开发板适配状态请参考SIG-Devboard信息。
Samples
表3 新增Samples
| 子系统 |
名称 |
简介 |
开发语言 |
| 网络与连接 |
上传和下载 |
本示例使用@ohos.request接口创建上传和下载任务,实现上传、下载功能,hfs作为服务器,实现了文件的上传和下载和任务的查询功能。 |
ArkTS |
| 文件管理 |
应用接入数据备份恢复
(Full SDK) |
应用接入数据备份恢复需要通过配置BackupExtensionAbility实现。
BackupExtensionAbility,是Stage模型中扩展组件ExtensionAbility的派生类。开发者可以通过修改配置文件定制备份恢复框架的行为,包括是否允许备份恢复,备份哪些文件等。
本sample主要给备份流程提供应用,用于生成数据和显示数据。 |
ArkTS |
| 事件通知 |
自定义通知角标 |
本示例主要展示了设定应用的桌面图标角标的功能,使用@ohos.notificationManager 接口,进行桌面角标的设置,通知的发送,获取等。 |
ArkTS |
| 事件通知 |
自定义通知推送
(Full SDK) |
本示例主要展示了通知过滤回调管理的功能,使用@ohos.notificationManager 接口,进行通知监听回调,决定应用通知是否发送。 |
ArkTS |
| NDK |
Native Xcomponent
(Native SDK) |
本示例中主要介绍开发者如何使用Native XComponent接口来获取NativeWindow实例、获取布局/事件信息、注册事件回调并通过OpenGL/EGL实现在页面上绘制形状。功能主要包括点击按钮绘制一个五角星,并可以通过点击XComponent区域改变五角星的颜色。 |
Native C++ |
| 应用模型 |
数据代理卡片-数据库刷新
(Full SDK) |
本示例主要展示了数据代理卡片的功能,使用@ohos.application.DataShareExtensionAbility、@ohos.data.dataShare、@ohos.data.dataSharePredicates等接口,实现了修改卡片订阅信息后,当rdb数据库中的数据发生变化时,卡片中对应信息也发生相应变化的功能。 |
ArkTS |
| 应用模型 |
数据代理卡片-仿push应用刷新
(Full SDK) |
本示例主要展示了使用push应用形式的数据代理卡片功能,使用@ohos.data.dataShare等接口,实现了数据代理卡片的修改订阅条件功能及卡片的发布数据功能。 |
ArkTS |
| 应用模型 |
编辑应用 |
本示例主要实现了基于UIExtension实现简单的分享功能。支持取消分享,点击“返回Share”按钮,返回调用方应用;支持完成分享,点击“留在编辑应用”按钮,留在当前接收分享结果应用。 |
ArkTS |
| 应用模型 |
发起分享应用
(Full SDK) |
本示例主要实现了点击“分享”按钮发起分享,显示出分享文本应用图标和分享编辑应用图标,点击相对应应用图标可以发起分享并跳转到其对应应用显示。 |
ArkTS |
| 应用模型 |
文本应用
(Full SDK) |
本示例主要实现了基于UIExtension实现简单的分享功能。支持取消分享,点击“返回Share”按钮,返回调用方应用;支持完成分享,点击“留在文本应用”按钮,留在当前文本应用。 |
ArkTS |
请访问Samples仓了解更多信息。
修复缺陷列表
表4 修复缺陷ISSUE列表
| ISSUE单 |
问题描述 |
| I6U4ZT |
拍照后立刻断电源,图库的第一张图片点击打不开。 |
| I79752 |
中概率由进程com.ohos.smartperf下的.ohos.smartperf线程导致libark_jsruntime.so出现cppcrash。 |
| I79P3K |
低概率由进程com.ohos.callui导致jscrash,栈名:onDestroy。 |
| I79TCB |
低概率由进程com.ohos.note下的VizCompositorTh线程导致libweb_engine.soTh出现cppcrash。 |
| I78CBC |
反复进入某相册的图片宫格浏览界面,导致libace.z.so出现内存泄露。 |
| I78CH7 |
反复在dock栏添加/移除应用,导致libace.z.so出现内存泄露。 |
遗留缺陷列表
表5 遗留缺陷列表
| ISSUE |
问题描述 |
影响 |
计划解决日期 |
| I78C9W |
反复进入大图浏览界面后返回,导致libace.z.so出现内存泄露。 |
非常用场景,应用重启后泄露问题消失,影响可控。 |
2023年8月30日 |
| I7BF3M |
长时间运行测试,launcher进程概率性出现appfreeze,原因是STRINGID:APPLICATION_BLOCK_INPUT卡在libeventhandler.z.so。 |
该问题不会引起系统重启,整体影响可控。 |
2023年8月30日 |
| I7M51R |
低概率出现进程com.ohos.systemui下的线程render_service出现cppcrash。 |
低概率问题,且render_service进程出现cppcrash后,系统会自动重新启动render_service进程,对业务影响可控。 |
2023年8月30日 |
| I7NWF3 |
因兼容性问题,使用3.2.x版本的设备和4.0.x版本的设备通过Wi-Fi引导P2P连接时开启会话失败。 |
在使用4.0.x版本的设备间此问题不存在,影响可控。 |
2023年8月30日 |
| I7BOAO |
三方仓GLES3多个测试用例执行失败。 |
三方仓问题,厂商正在适配修改。 |
2023年8月30日 |