harmony 鸿蒙OpenHarmony 5.1.0 Release
OpenHarmony 5.1.0 Release
版本概述
OpenHarmony 5.1.0 Release版本正式推出API 18。相比前一个Release版本(OpenHarmony 5.0.3,即API 15),重点做出了如下特性新增或增强:
进一步增强ArkUI,提供更丰富的组件属性设置,支持更多精致动效,持续补充组件通过C API调用的能力;进一步增强媒体能力,提供更丰富的编解码能力、播控能力、媒体会话管理能力;进一步丰富了应用启动的细节设置能力;进一步增强分布式数据管理的UDMF、RDB的数据处理能力;进一步完善了标准Web能力;等等。
更详细的特性新增与增强的说明如下,将按照API版本顺序分别进行列举:
应用框架
新增支持根据指定的数据加密级别创建应用上下文,以获取相应的路径。(API参考)
新增支持同步获取当前进程的进程名(processName)。(API参考)
新增支持获取应用被拉起原因(LAUNCH_REASON_MESSAGE)。(API参考)
新增支持启动Ability时指定主窗口显示的最大宽高(maxWindowWidth/maxWindowHeight)和最小宽高(minWindowWidth/minWindowHeight)。(API参考)
新增支持设置UIAbility的颜色模式。(API参考)
新增支持通过startAbility的属性startOptions来指定创建新窗口的大小(minWindowWidth、minWindowHeight、maxWindowWidth、maxWindowHeight)。(API参考)
C API新增支持启动Ability时传递startOptions。(API参考)
C API新增支持设置启动Ability时窗口和dock栏图标的显示模式。(API参考)
新增一批C API函数,用于获取应用级别沙箱内文件目录。(API参考)
应用包管理
配置文件module.json5新增重定向配置:通过abilitySrcEntryDelegator标识当前Module需要重定向到的UIAbility的名称,通过abilityStageSrcEntryDelegator标识当前Module需要重定向到的UIAbility对应的Module名称(不可为当前Module名称),两者组合使用,共同指定重定向的目标对象。 (指南)
ArkUI
文本与输入组件能力增强。包括:
- 文本组件支持通过NODE_IMMUTABLE_FONT_WEIGHT属性,设置文字粗细不会跟随系统字体粗细而变化。(API参考-C API)
- 文本组件支持对选中的文本提供分享服务(API参考)、支持按音节连字符换行(API参考)。
- 文本组件新增支持设置文本选择菜单显示在独立窗口。(API参考)
- 富文本(RichEditor)组件支持设置最大行数。(API参考)
- TextInput组件支持设置文本省略位置。(API参考)
- TextInput/TextArea/Search/RichEditor组件支持将文本行间距平分至行的顶部与底部。(API参考-TextInput、API参考-TextArea、API参考-Search、API参考-RichEditor)
- TextInput/TextArea组件扩展自动填充类型,包含:车牌号、护照号等。(API参考-ArkTS、API参考-C)
- 富文本(RichEditor)组件在长按预览菜单时支持振动效果。(API参考)
- 基础类型定义新增支持清除当前的预上屏文本内容。(API参考)
通用拖拽能力增强。包括:
弹窗能力增强。包括:
- 支持通过设置levelOrder来管理弹出框的显示顺序,确保层级较高的弹出框覆盖在层级较低的弹出框之上。(API参考、指南)
- 支持在自定义内容中,创建和关闭对应的自定义弹窗。(API参考)
- Popup组件支持通过maxWidth设置最大宽度。(API参考)
- 半模态Popup样式弹窗,支持通过placement设置相对于目标的显示位置,通过placementOnTarget设置弹窗能否覆盖在目标节点上。(API参考)
- Menu和Dialog支持通过backgroundBlurStyleOptions和backgroundEffect设置自定义背景模糊。(API参考-Menu、API参考-Dialog)
- 模态转场和MenuItem支持!!双向绑定变量。(API参考-半模态转场、API参考-全屏模态转场、API参考-MenuItem)
- 自定义弹窗支持避让键盘后,通过keyboardAvoidDistance设置弹窗和键盘之间的最小距离。(API参考、API参考-C)
- 支持通过showInSubWindow设置半模态是否在子窗中显示、支持通过effectEdge设置半模态面板边缘滚动的效果。(API参考)
- 菜单(Menu)在弹出时支持振动效果。(API参考)
表单选择类组件能力增强。包括:
- 新增SegmentButtonV2组件,可创建页签型、单选或多选的胶囊型分段按钮。(API参考)
- TextPicker/TimePicker支持选项进入选中区域时触发事件回调。(API参考-TextPicker、API参考-TimePicker)
- TimePicker/CalendarPicker支持通过start和end配置开始时间和结束时间(API参考-TimePicker、API参考-CalendarPicker)。
- TimePicker支持通过enableCascade设置12小时制时上午下午跟随时间联动。(API参考)
滚动与滑动组件能力增强。包括:
- Swiper/Tabs组件增加页面选中元素改变时触发的回调,返回当前选中或将要隐藏的元素的索引值。(API参考-Swiper、API参考-Tabs)
- Swiper组件增加控制手指或者鼠标等按下屏幕时子组件是否停止自动播放的能力。(API参考-Swiper)
- Swiper组件CAPI能力增强,可设置缓存节点是否显示、数字导航点和导航箭头的样式。(API参考-CAPI)
- List组件支持设置布局样式和滚动效果(NODE_LIST_SCROLL_TO_INDEX_IN_GROUP、 NODE_LIST_LANES、NODE_LIST_SCROLL_SNAP_ALIGN、NODE_LIST_MAINTAIN_VISIBLE_CONTENT_POSITION)(API参考-CAPI)。
新增C API,支持可配置用户自定义数据的手势中断事件回调函数。(API参考)
新增C API,支持获取事件命中组件的宽高和坐标信息。(API参考-CAPI)
支持设置组件的自定义焦点走焦逻辑。(API参考、API参考-CAPI)
支持动态获取手势配置参数,可返回连续点击次数阈值。(API参考)
支持手势取消时触发的onActionCancel回调中返回手势事件信息。(API参考-LongPressGesture、API参考-PanGesture、API参考-PinchGesture、API参考-RotationGesture)
无障碍支持自定义焦点顺序(API参考)、支持控制组件的屏幕朗读方式(API参考)、支持设置屏幕朗读滚动操作(API参考)。
支持设置EmbeddedComponent或UIExtensionComponent组件的占用事件,指定手势事件的响应方式。(API参考)
支持将当前FrameNode移动到目标FrameNode的指定位置,实现跨实例节点迁移。(API参考、API参考-CAPI)
NodeController新增节点上下树和绑定解绑前后的生命周期回调接口(onAttach、onDetach、onWillBind、onWillUnbind、onBind、onUnbind)。(API参考)
支持对ComponentContent构建的UI组件进行截图。(API参考)
新增鼠标轴事件相关接口。(API参考-ArkTS、API参考-C API)
NavDestination新增OnActive和OnInActive生命周期。(API参考)
C API的事件能力增强,新增支持获取事件命中的组件的宽度、高度、X坐标、Y坐标等能力。(API参考)
UIContext新增支持创建不依赖窗口的UI实例。(API参考)
组件可见区域变化事件新增支持设置事件的回调参数,限制它的执行间隔。(API参考-ArkTS、API参考-C API)
ImageAnimator组件支持设置是否通过系统onVisibleAreaChange的可见性来判断组件的暂停和播放。(API参考)
窗口管理
新增软键盘弹出动画完成的监听回调。(API参考)
画中画窗口支持通过创建参数LocalStorage实现页面级别的UI状态存储单元,多实例下可用来跟踪主窗实例。(API参考)
窗口管理新增支持创建虚拟屏幕。(API参考)
图形图像
新增一批C API函数和枚举,用于支持直接绘制到屏幕buffer的gpu渲染能力。(API参考)
分布式数据管理
RelationalStore新增rootDir配置,支持打开非database目录下的数据库。(API参考)
关系型数据库新增支持根据指定的列索引或列名称获取列数据类型。(API参考)
UDMF新增支持将传入的data转换成多样式数据结构的能力。若原data使用多个record去承载同一份数据的不同样式,则可以使用此接口将原data转换为多样式数据结构。(API参考)
媒体
音频
音视频编解码
- 视频解码新增支持MPEG2、MPEG4、H.263。(指南)
播放控制
播放器支持向应用透传SEI字段数据,适用于HTTP-FLV直播。(API参考)
调用媒体播放器AVPlayer设置播放策略时,新增支持Prepare之后显示视频起播首帧(showFirstFrameOnPrepare)、起播缓冲水线(preferredBufferDurationForPlaying)等播放策略。(API参考)
播放器新增支持播放预下载的视频数据。(API参考)
调用媒体播放器AVPlayer设置播放策略时,新增支持智能追帧水线(thresholdForAutoQuickPlay)。(API参考)
能力增强:支持应用创建多个SoundPool实例。(API参考)
调用媒体播放器AVPlayer设置播放策略时,新增支持Prepare之后显示视频起播首帧(showFirstFrameOnPrepare)。(API参考)
新增支持通过AV会话命令传递设置目标循环模式(setTargetLoopMode)的能力(API参考),并提供对设置动作的事件监听回调(API参考)。
音频会话新增支持单句/单条歌词展示的属性singleLyricText。(API参考)
图片
- 新增C API支持获取图片的可编辑标志。(API参考)
录制
语言编译器运行时
TaskPool支持指定任务执行并发度和指定任务的排队策略。(API参考)
TaskPool支持通过任务ID取消任务池中的任务。(API参考)
collections(ArkTS容器集)在API 18新增支持以下方法(API参考): Array:from、isArray、of、copyWithin、lastIndexOf、some、reduceRight、reverse、toString、every、toLocaleString
TypedArray:toString、toLocaleString、lastIndexOf、reduceRight
安全
新增基于群组的关键资产访问控制。通过设置群组属性,同一开发者开发的多个应用可以共享数据。(指南)
DFX
新增支持为当前线程转储虚拟机的原始堆快照。(API参考)
企业定制
可禁用/启用的特性限制新增MTP(mtpClient/mtpServer)和恢复出厂设置(resetFactory)。(API参考)
新增支持按系统账户安装用户证书。(API参考)
新增支持订阅账号的新增、删除、切换系统事件。(API参考)
基础通信
新增在蓝牙socket server端可以获取对端蓝牙设备虚拟MAC地址的功能(API参考)
新增获取对端蓝牙设备原始名字的功能。(API参考)
新增连接对端蓝牙设备可用profile的功能,如A2DP、HFP、HID等协议profile。(API参考)
新增持久化存储对端蓝牙设备虚拟MAC地址的功能。(API参考)
新增蓝牙BLE扫描围栏模式,可实现首次扫描到BLE广播报文时上报进入围栏,扫描不到BLE广播报文时上报离开围栏,并携带BLE广播报文信息。(API参考)
完善蓝牙搜索到的设备信息,新增获取设备RSSI(信号强度)、名称和类别信息。(API参考)
新增异步读取和发送蓝牙socket数据的功能,如果链路断开,会上报IO异常。(API参考)
位置服务
新增支持订阅蓝牙扫描信息上报事件用于辅助定位。(API参考)
网络管理
新增支持获取TLSSocket的文件描述符。(API参考)
剪贴板
剪贴板支持获取剪贴板的内容变化的次数。(API参考-ArkTS API、API参考-C API)
输入法
输入法框架新增支持设置显示预览文本时的回调(API参考),支持订阅输入法应用操作文本预览内容的事件(API参考)。
Web
支持获取上一次被点击区域的元素信息。(API参考)
支持设置Web组件是否开启字重跟随系统设置变化。(API参考)
支持Web内音视频可对接到播控中心。(API参考)
对接W3C规范,支持通过accept指定上传的文件类型。(API参考)
提供静态方法,清除应用中的资源缓存文件。(API参考)
新增支持以固定宽高设置同层渲染的元素。(API参考)
多模输入
新增支持设置处于前台的应用操作指定按键的回调。(API参考)
上传下载
上传下载支持应用缓存下载能力,支持应用提前缓存文件到沙箱目录或内存中。(API参考)
上传下载agent接口支持设置任务最高限速(API参考),支持设置待上传文件在表单中的content-type字段(API参考)。
资源调度
新增后台子进程管理模块,提供应用对子进程进行压制、解压制的能力,避免子进程过多占用系统资源,导致系统使用卡顿。(API参考)
后台代理提醒中提醒标题、提醒内容等字段支持设置资源ID,用于全球化适配。(API参考)
全球化
新增支持获取用户偏好温度单位和周起始日的能力。(API参考)
新增支持时间日期/数字精细化格式化的能力,便于更灵活的使用格式化能力。(API参考)
新增支持返回富文本的数字格式化能力。(API参考)
新增支持路径本地化显示的能力,可以根据输入语言判断路径是否需要镜像显示。(API参考)
测试框架
新增支持横向纵向查找控件,仅适用于支持滑动的控件。(API参考)
配套关系
表1 版本软件和工具配套关系
软件 | 版本 | 备注 |
---|---|---|
OpenHarmony | 5.1.0 Release | NA |
Public SDK | Ohos_sdk_public 5.1.0.107 (API Version 18 Release) | 面向应用开发者提供,不包含需要使用系统权限的系统接口。通过DevEco Studio默认获取的SDK为Public SDK。 |
HUAWEI DevEco Studio(可选) | 5.1.0 Release | OpenHarmony应用开发推荐使用。 待发布 |
HUAWEI DevEco Device Tool(可选) | 4.0 Release | OpenHarmony智能设备集成开发环境推荐使用。 |
源码获取
前提条件
注册码云gitee帐号。
注册码云SSH公钥,请参考码云帮助中心。
-
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 init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-5.1.0-Release --no-repo-verify repo sync -c repo forall -c 'git lfs pull'
从版本发布Tag节点获取源码。可获取与版本发布时完全一致的源码。
repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v5.1.0-Release --no-repo-verify repo sync -c repo forall -c 'git lfs pull'
方式二
通过repo + https 下载。
从版本分支获取源码。可获取该版本分支的最新源码,包括版本发布后在该分支的合入。
repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-5.1.0-Release --no-repo-verify repo sync -c repo forall -c 'git lfs pull'
从版本发布Tag节点获取源码。可获取与版本发布时完全一致的源码。
repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v5.1.0-Release --no-repo-verify repo sync -c repo forall -c 'git lfs pull'
从镜像站点获取
表2 获取源码路径
版本源码 | 版本信息 | 下载站点 | SHA256校验码 | 软件包容量 |
---|---|---|---|---|
全量代码(标准、轻量和小型系统) | 5.1.0 Release | 站点 | SHA256校验码 | 49.1 GB |
Hi3861解决方案(二进制) | 5.1.0 Release | 站点 | SHA256校验码 | 28.4 MB |
Hi3516解决方案-LiteOS(二进制) | 5.1.0 Release | 站点 | SHA256校验码 | 350.0 MB |
Hi3516解决方案-Linux(二进制) | 5.1.0 Release | 站点 | SHA256校验码 | 223.6 MB |
RK3568标准系统解决方案(二进制) | 5.1.0 Release | 站点 | SHA256校验码 | 9.7 GB |
标准系统Public SDK包(Mac) | 5.1.0.107 | 站点 | SHA256校验码 | 1.3 GB |
标准系统Public SDK包(Mac-M1) | 5.1.0.107 | 站点 | SHA256校验码 | 1.2 GB |
标准系统Public SDK包(Windows/Linux) | 5.1.0.107 | 站点 | SHA256校验码 | 3.2 GB |
修复缺陷列表
表3 修复缺陷ISSUE列表
ISSUE单 | 问题描述 |
---|---|
IBTXFK | 从图库删除多张图片的完整用时可能稍长(1000+ ms)。 |
IBTCJQ | FWX图片放大缩小的移动帧率不足60帧。 |
IBINUK | 进程com.ohos.camera有一定概率出现因LIFECYCLE_TIMEOUT卡在libcamera_framework.z.so导致的sysfreeze。 |
遗留缺陷列表
表4 遗留缺陷列表
ISSUE | 问题描述 | 影响 | 计划解决日期 |
---|---|---|---|
IBTCKR | SystemUI状态栏下拉到内容渲染耗完成时的完整用时可能稍长(160+ ms)。 | 轻微影响使用体验。 | 2025年5月30日 |
IBBZPS | 进程com.ohos.systemui下的OS_IPC_0_1067线程小概率出现cppcrash,崩溃栈:ld-musl-arm.so.1(__libc_free+172) | 系统异常,用户无感知。 | 2025年5月30日 |
IBE36XIBO3MF | 进程render_service小概率出现因SERVICE_BLOCK导致的的sysfreeze问题。 | 桌面无响应后黑屏,自动恢复后回到桌面。 | 2025年5月30日 |
IC313T | 图库缩略图列表滑动的动画帧率未达到基线要求。 | 轻微影响使用体验。预计5月10日解决后评估回合5.1.0版本。 | 2025年5月10日 |
IC32I0 | 浏览器微博首页滑动、浏览器天猫界面缩放的动画帧率未达到基线要求。 | 轻微影响使用体验。 | 2025年5月30日 |
IC32SL | 首次启动浏览器到启动完成的耗时稍长,未达到基线要求。 | 轻微影响使用体验。 | 2025年6月23日 |
IBUCOT | com.ohos.settingsdata进程的常驻内存实测值为16MB,远超基线要求。 | 内存占用不符合预期,对实际使用无影响。 | 2025年5月30日 |
IC4UFM | 通话拨号盘按键的按键响应时延稍长,未达到基线要求。 | 轻微影响使用体验。 | 2025年5月16日 |
IC04TG | 进程com.ohos.note下的com.ohos.note线程有一定概率出现因libarkweb_engine.so导致的cppcrash。 | 备忘录应用异常,重启可恢复。 | 2025年5月8日 |
IBZYWM | 进程com.ohos.note下的CompositorGpuTh线程有一定概率出现因libmali-bifrost-g52-g7p0-ohos.so导致的cppcrash。 | 备忘录应用异常,重启可恢复。 | 2025年5月8日 |
IC22OQ | 进程com.ohos.note下的RSRenderThread线程小概率出现因libskia_canvaskit.z.so导致的cppcrash。 | 备忘录应用异常,重启可恢复。 | 2025年5月15日 |
IC4ZPS | 执行XTS测试时,ActslocationErrorCodeApiTest测试套因RK3568开发板位置服务不支持Geofence能力导致执行结果出现失败项。 | 该问题已在master解决,可通过增加配置项处理。 配置方式可参考https://gitee.com/openharmony/vendor_hihope/pulls/1505 |
2025年4月30日 |
IC57IO | 桌面->右上角下划进入控制中心->点击控制中心飞行模式,该操作按钮功能失效。 | 该问题已在master解决,可手动修改代码规避。 处理方式可参考https://gitee.com/openharmony/distributeddatamgr_datamgr_service/pulls/2967 |
2025年4月30日 |
你可能感兴趣的鸿蒙文章
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 (停止维护)
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦