感谢网友 系我阿D 的线索投递!
1 月 1 日消息,OpenHarmony 是由开放原子开源基金会孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台。
OpenHarmony 4.0 版本已于 10 月 26 日正式发布,开发套件同步升级到 API 10。开放原子开源基金会现已在 Gitee 上发布 OpenHarmony 4.1 Beta1 代码,其 Release 发行版预计 Q1 发布。
据介绍,OpenHarmony 4.1 Beta1 版本标准系统能力持续完善,并且开始提供首批 API Level 11 接口。附发行说明:
ArkUI 进一步完善组件能力和效果、图形窗口增强了动效和窗口适配能力、应用框架增强了 Extension 能力、分布式软总线连接能力和规格进一步增强、媒体进一步增强音频 / 相机框架的能力、测试框架多个工具能力增强。
应用框架
提供 Autofill 自动填充框架,系统应用可以通过该框架来实现密码保险箱等功能为用户提供免密登录功能。
支持通过 Context 获取 resFile 资源目录,提升应用开发便利性。
增强 UIExtension 能力:提供 SetReceiveDataForResultCallback 接口及其同步回调;提供 StartAsCaller 接口;支持多实例。
启动 UIAbility 和 UIExtension 时,支持 Uri 批量授权。
支持应用定制系统环境参数,应用可选择是否跟随系统配置更新变化显示效果。
支持意图框架能力,支持 UIAbility、UIExtension、ServiceExtension 等绑定意图。
支持在 import 时引入 abc 文件。
增强卡片能力:支持卡片点击回调;支持卡片点击跳转 deeplink;支持查询未使用的卡片;新增锁屏卡片尺寸的规格;支持锁屏卡片设置为单色模式;支持状态保存及恢复能力,提供更好的显示接续效果。
ArkUI
新增 NodeContanier 开放命令式的渲染节点,提升自定义绘制能力。
文本和容器类组件能力增强:
支持 TextInput / Text 按字符截断;
支持 TextArea 定制回车键行为;
支持 TextInput 和 Textarea 获取光标位置;
支持智能分词,新增依据分词结果插入光标逻辑,以及替换分词算法;
支持 ImageSpan 自定义长按菜单事件、支持控件缩进 / 对齐;
支持 Swiper 组件的嵌套滚动;
支持 List 组件在通过 ScrollToIndex 滚动到 ListItemGroup 中时指定 ListItem 的能力;
支持 Grid / WaterFlow 组件列表项滑动到指定位置并有过渡动画;
支持滚动类组件在内容区域不满一屏时使能回弹效果。
控件 AI 化能力增强:
支持 TextInput 及相关文本输入控件的视觉输入;
支持 Text / RichEditor 相关文本控件的文本实体识别。
状态管理功能增强:
支持 undefined 和 null,以及联合类型;
支持 ListItem 组件在 ForEach / LazyForEach 中属性中更新方法;
支持 @LocalStorageLink/LocalStorageProp 在非激活状态不更新。
应用包管理
提供了基础资源统一访问的能力,支持查询应用的图标和名称。
支持在调试状态使用快速修复能力,支撑大型应用快速调试。
支持驱动应用的安装、更新、卸载。
支持菜单的配置及查询能力。
支持签名的流转,使用签名证书中的 app-identifier 作为应用的唯一标识。
支持 abc 文件的合法性校验,校验通过的 abc 文件,才允许在受限虚拟机中运行。
接入统一文件预览框架,支持使用统一文件预览框架打开文件。
提供了包扫描检测工具,支持扫描大文件、重复文件和各种文件类型大小占比情况等功能。
支持使用打包工具指定统一的版本号进行打包。
分布式软总线
连接能力和规格进一步增强,如:支持 P2Pv2 协商;支持按业务策略的被动发布;链路选择增加连接可靠性确认能力;支持感知资源情况并动态设置连接参数。
支持 IPC 引用技术查询的接口和时间戳查询的接口,增强维测能力。
分布式数据管理
支持 RDB 在应用指定的沙箱路径子目录下创建数据库,在保证应用数据安全的前提下进一步提升数据使用的灵活性。
支持 UDMF 的数据类型标准化定义与描述、支持标准数据类型查询、支持数据访问授权与管理、支持应用自定义数据类型。
限制数据不打分类分级标签时不允许跨设备同步。
支持 preferences 的 uint8Array 格式数据流的修改、查询和持久化。
分布式硬件
优化分布式输入特殊场景下的按键状态管理。
增强分布式相机、分布式音频、分布式屏幕和分布式输入的业务可靠性。
文件管理
图库等系统应用支持按照年月日视图进行分组查询。
图库等系统应用支持文件编辑可还原能力、文件隐藏及隐私相册能力。
提升图库滑动场景下缩略图的访问性能,缩略图访问性能整体提升 20% 以上。
应用访问框架及 API 能力增强,支持 readline、lseek 等接口。
图形图像及窗口
图形图像
支持 HDR Vivid 视频的渲染与显示。
图形 NDK 能力增强,支持为 NativeImage 添加 OnFrameAvailableListener 回调,支持为 NativeWindow 设置色域,新增支持 OpenGL 扩展接口等。
支持录屏不录制特定窗口,以及隐私窗口录制成纯黑色帧画面的能力。
支持调整系统分辨率。
支持系统根据动画调节帧率,支持开发者调节应用帧率。
动效能力增强,支持硬件挖空,屏幕圆角,Navigation 导航转场动画支持共享元素等。
图形渲染管线支持 vulkan 后端。
nativeBuffer 支持设置 metadata,适配 HDR 视频场景动态元数据随帧传递。
窗口
窗口属性支持调整全局窗口分辨率,支持窗口遮挡状态的通知,支持窗口模式变化的监听,支持窗口可交互和不和交互的通知,支持水印窗口能力。
窗口布局和层级,支持设置窗口的初始化尺寸和位置,支持缩放拉、拉伸和拖拽移动子窗口,支持设置窗口最小化和窗口隐藏,支持查询窗口支持的最小和最大尺寸,支持窗口间拖拽被拖入窗口置顶,支持设置窗口防悬浮窗遮挡,支持提供窗口的可绘制区域大小。
窗口焦点支持同应用下的窗口指定目标窗口转移焦点。
窗口事件支持多屏下的事件的分发,支持多模态弹窗,支持窗口外点击事件的监听以及对此类监听排除输入法区域。
窗口动效支持窗口形态切换的动画能力,支持软键盘多任务联动动画,支持配置输入法软键盘进入退出动画。
智慧多窗支持画中画能力,支持分屏窗口位置交换。
屏幕基础功能管理支持指定屏幕上下电,支持提供屏幕可用区域。
虚拟屏支持虚拟屏色域、HDR 和 format 的设置,支持虚拟屏窗口过滤设置,支持虚拟屏更新尺寸规格,支持设置禁用截屏,支持禁用虚拟屏镜像能力。
多屏管理框架支持设置窗口显示屏,支持窗口在屏幕间迁移,支持异源显示模式。
媒体
新增一批面向设备开发的 HDI 接口能力,包括相机框架、音频等,如:
支持相机框架及应用完成从当前变焦值平滑过渡到目标变焦值的能力。
支持手电筒打开关闭控制、手电筒可用通知、手电筒状态变化通知。
支持运动防抖模式,达成在录像过程中图像稳定。
支持相机扫码模式,支撑扫码服务业务功能。
支持底层识别系统状态(如跌落状态),使相机的相对脆弱器件(如光圈)可在手机跌落状态时关闭,对其进行保护。
支持蜂窝网络通话时进行录音。
支持音振协同。新增振动 HDI 接口,可查询设备振动信息;新增震动类型和时延字段的设置接口;支持高清振动的数据下发。
事件通知
Emitter 支持按 string 类型订阅;支持获取订阅者数量;支持可序列化类型,数据大小限制放开到 16MB。
支持应用设置仅订阅本应用发送的自定义事件。
支持系统应用创建系统实况窗类型通知。
支持设置为每周重复提醒。
支持同一个日程下的同组提醒按 groupId 统一取消。
支持通知按钮自动多语言切换。通过设置按钮资源 ID,可实现通知到达后,提醒内的按钮标题语言依据系统环境语言自动切换。
通信与连接
NFC 支持 HCE 卡模拟能力,支持设置默认支付应用。
蓝牙支持 BLE 广播的动态启停,支持 MDM 调用蓝牙接口强制关闭蓝牙功能,并限制开启蓝牙;支持查询设备是否处于可发现状态;支持根据设备地址获取设备的配对状态。
Wi-Fi 支持识别当前连接的热点是否手机热点;支持将设备作为热点,并支持添加 STA 设备到黑名单。
位置
支持通过 sendCommand 接口删除辅助数据,用于支持冷热启动测试。
支持地理编码,逆地理编码,查询地理编码服务状态等接口。
支持 MDM 调用位置服务接口强制开启或关闭位置服务功能。
电话服务
支持 SIM 卡短信增删改查功能。
支持异网漫游准入要求:支持异网漫游拜访网络和归属网络名称同时显示;支持异网漫游场景紧急呼叫的特殊处理。
支持接收运营商上报的小区广播消息。
支持通话拦截:提供通话拦截框架,支持三方接入;提供号码黑名单机制。
支持多时区来源的管理:多时区国家可以通过 NITZ、地理位置更新时区,并且根据不同的优先级更新;单时区国家可以通过 NITZ、国家码、地理位置更新时区,并且根据不同的优先级更新。
其他移动通信相关能力和规格提升:
支持广电(运营商)SIM 卡;
支持 TDM / DSDA 双卡双通。双卡场景下,一张卡通话过程中,第二张卡来电正常响铃,第一路通话自动 hold;可以在一张卡通话时,使用另一张卡拨打电话。
支持 DSDS 一卡通话一卡可来电。双卡场景下,一张卡通话过程中,第二张卡来电正常响铃,第一路通话挂断。
支持虚拟卡 APN 匹配,虚拟卡支持根据 SPN / IMSI 前缀 / GID / ICCID 匹配 APN。
开机搜索网络和关闭飞行模式后搜索网络性能提升。
网络管理
支持局域网路由管理,可配置网卡 IP 地址、路由、静态 ARP 表等属性。
在支持 UDP Socket 完整能力的基础上,新增支持加入 / 退出组、TTL 设置与获取、数据发送等能力。
支持基于 socket 的流量统计,应用通过网络管理接口,可获取基于 socket 粒度的流量统计结果。
支持读取应用级网络代理配置文件。
优化网络连通性检测机制,包括探测周期、探测协议,同时重构了探测状态机。
电源
电源管理
支持将按动电源键或合盖操作配置为睡眠或熄屏。
支持设备在睡眠状态被唤醒后,根据读取特定系统节点获取唤醒原因,并根据唤醒原因执行对应动作,如关机。
支持多端协同状态下按动电源键等亮灭屏的行为处理,以及硬件输入和软件注入的区分和处理。
支持多端协同成功 / 断开的屏幕电源状态控制及其相关状态机处理。
支持灭屏但不停止图像输出的显示状态及其相关状态机处理。
支持在用户已配置 AOD 且设备锁屏时,LCD 不下电。
支持在低电压场景触发正常关机。
支持长按电源键触发关机弹框的振动效果,并支持在特定设备上关闭振动效果。
支持开始充电时的振动提示效果,并支持在特定设备上关闭振动效果。
热管理
支持定制新场景 / 状态用于温控决策。
新增热逃生档位,触发热逃生温度会发出通知。
支持向驱动节点配置温控的定制动作,当触发温控时,动作的值会写入相应节点。
其他
支持驱动上报事件并触发对应动作的执行。
支持查询和上报应用持有 CPU 锁信息。可通过电源服务的接口回调或 hisysevent 上报应用持有 CPU 锁的情况,同时可调用接口查询应用持有 CPU 锁的情况。支持 Nap 服务订阅上述信息。
安全
密钥管理支持“设置密码时有效”的访问控制方式。
加解密算法库框架支持 PBKDF2 算法、支持对称密钥可选 AAD 参数、支持可变长度密钥 HMAC、支持 DH / 25519 算法、支持 brainpool 曲线、支持 SM2 密钥解析和参数处理能力、支持基于曲线名的密钥生成能力。
新增应用私有证书凭据管理接口支持指定签名填充方式和 Hash 算法。
用户 IAM
支持清理冗余用户身份凭据。
支持认证失败振动反馈。
支持动态指纹禁用功能。
ArkCompiler
SmartGC 支持 90 帧场景,支持对性能高度敏感的场景的 GC 控制。
Taskpool 支持中断退出线程,支持精准 import 导入,支持默认 transfer 机制。
提供 C++ 的异常捕获机制。
内核
支持内核树外独立构建 ko 模块能力,并提供独立 ko 分区 chip_ckm。
多模输入
新增接口支持自定义光标交互坐标和更新鼠标显示位置的注入功能。
支持按键监听按优先级处理的能力。
支持鼠标指针热区检测功能。
支持双指捏合、旋转手势的识别。
支持三指轻点手势识别。
支持全局组合键的管理和监听功能。
支持双击按压电源键拉起指定 Ability 的能力。
支持鼠标光标 UX 属性的设置,当前支持设置大小和颜色。
支持鼠标动画光标样式的设置。
泛 Sensor
支持传感器精度的上报。
支持传感器和触觉控制的 Native API 接口。
支持上报设备折叠状态、空间音频头部姿态数据等。
支持振感的动态静态调节。
支持触觉控制的开关。
测试框架
自动化测试框架 arkxtest
支持模拟鼠标滚轮滑动、滑动左右键双击等模拟 UI 操作能力。
支持 Shell 命令方式进行 UI 模拟操作能力,支持点击、滑动、双击、文本输入等常用操作能力。
提升 UI 测试框架查找控件信息效率。
测试调度框架 xDevice
新增单次测试过程中自动复测失败项能力,并支持配置复测次数,最终生成一份测试报告。
优化测试报告,统一轻量系统、小型系统、标准系统的测试报告头信息。
新增支持测试套测试资源本地不存在时,可配置远程下载地址。
稳定性测试工具 WuKong
新增 page 页面和 Ability 页面的配置能力,支持在测试过程中配置页面屏蔽,提升测试效率。
新增单一场景压测能力,支持针对某一控件循环注入操作事件,并支持配置循环次数。
性能开发工具 SmartPerf Host
新增支持 hilog、hisysevent 的采集、分析和展示。
新增支持 hiperf event count 的分析和展示。
提升抓取 trace 的能力,动态可暂停可调试。
新增支持线程唤醒关系树的快速跟踪。
性能测试工具 SmartPerf Device
优化已有抓取内存、CPU 数据的能力。
新增启动停止采集的命令。
新增定时获取截图、分辨率和刷新率的采集能力。
DFX
提升功耗异常的识别速度与准确度,主要器件的耗电相关信息更丰富,易于问题定位.对应用导致的器件耗电异常场景,可对器件的耗电使用进行深度分析。
支持系统内存详情采集插件,用于 ION,GPU / Skia,purgeable 内存信息的采集(hidumper hiprofiler)。
支持动效场景耗时分析,可采集动效(启动、退出、转屏、转场、滑动)设置的信息数据、动效起止打点、以及和图形帧关联。
上传下载
支持上传场景返回超过 IPC 限制的 Response Body。
支持文件片段上传。
支持后台任务进度更新及状态变化的回调。
支持上传下载任务状态变化事件的上报。
应用或后台 Service Ability 重启后可以继续操作上传下载任务。
支持优先级策略:高优先级应用(焦点应用)的高优先级任务优先执行并且占据跟多网络带宽资源。
输入法框架
支持输入法切换列表控件。
支持输入法应用代理功能。
支持输入法框的视觉输入。
提供查询输入法窗口显示状态的接口。
支持系统安全键盘。
支持安全模式。
时间时区
支持感知用户配置开关。
支持自定义 NTP 服务器。
AI
新增 Native 的设备端侧的 AI 训练接口。
新增配置 NNRt 后端的 ArkTS 接口。
Web
完善 WebRTC 能力,支持入会、共享、发言、摄像头等能力
支持 W3C 获取时区、感知 VirtualKeyboard。
完善 CSS 光标样式。
支持网页过滚动效果。
支持在文档启动时执行注入脚本。
支持 PostURL 能力。
支持嵌套滚动。
支持网页视频播放使用 AVCodec 硬解。
新增 WebCookieManager 不依赖 Web 组件独立使用的能力。
支持 Web 对接无障碍能力。
Web 内核升级:从 Chromium 99 升级至 Chromium 114。