开源鸿蒙OpenHarmony 4.1版本正式发布,新增超4000个API接口

发表时间: 2024-04-01 09:25

IT之家 4 月 1 日消息,开源鸿蒙 OpenHarmony 4.1 Release 版本于昨日发布,开发套件同步升级到 API 11 Release。

相比 4.0 Release 版本,4.1 Release 有以下提升:

  • 新增 4000 多个 API,应用开发能力更加丰富;

  • 应用开发的开放能力以 Kit 维度呈现,提供给开发者更清晰的逻辑和场景化视角;

  • ArkUI 组件开放性和动效能力得到进一步增强;

  • Web 能力补齐,便于开发者利用 Web 能力快速构建应用;

  • 分布式能力进一步增强了组网稳定性、连接安全性等;

  • 媒体支持更丰富的编码,支持更精细的播控能力等等。

IT之家附 OpenHarmony 4.1 Release 更新日志如下:

ArkUI

  • 支持自定义组件扩展需求:框架提供基础组件的 Modifier,开发者可继承实现自定义的 Modifier,然后通过 Modifier 实现链式调用和参数传递。Modifier 和自定义组件配合使用解决自定义组件传参的问题。Modifier 机制支持单点属性更新。

  • Canvas 支持图形 GraphicContext,提升自绘制能力和性能。

  • 文本类控制支持属性字符串

  • 控件接入 AI 增强能力,包括:Image、Video、XCopmonent 和 Canvas 控件支持实体识别;文本内容信息识别支持提取时间(日程)、地理位置。

  • 状态管理能力优化:

  • 新增接口在保留当前接口基本功能的情况下,无需调用 aboutToBeDeleted 进行解注册,且不会导致内存泄漏问题;

  • @StorageLink、@StorageProp、@LocalStorageLink、@LocalStorageProp 支持 undefined、null 和联合类型;

  • private 的普通变量或状态变量处理策略增强;

  • 支持深度观察,可对类中的属性进行观察。

  • 弹窗类组件自定义能力增强:

  • 通过调用 promptAction 提供的接口,支持自定义显示 / 退出动效;

  • 配置弹框样式:设置背景色、圆角、宽度、高度、边框(颜色、宽度)、阴影(偏移、圆角、透明度、颜色)、气泡箭头大小设置;

  • 显示 / 退出交互:所有弹框将要弹出 / 退出时提供回调,以及对是否允许弹框退出提供回调。

  • 滑动场景,优化单帧平均耗时。

应用框架

  • 应用正常退出时会清理 temp 目录,提升安全性并减少系统存储空间消耗。

  • Extension 管控能力增强:新增了 ServiceExtension 的后台管控以及统一超时机制。

  • ArkTS 卡片能力增强:新增了透明卡片、数据代理刷新、单色模式和锁屏卡片能力。

应用包管理

  • 系统级 HSP 支持 OTA 升级;

  • 新增了模块化开发包大小优化指导。

分布式软总线

  • 构建软总线传输 QoS 接口能力,更优管控底层链路资源并提供选路决策,提升分布式业务体验。

  • 子系统规格能力持续增强,选路增加连接可靠性确认能力、支持感知资源情况动态设置连接参数等。

  • 完成子系统 DFX 机制增强,如:支持互联雷达打点、支持上层分布式业务统计以及支持对组网监控事件进行业务告警。

  • IPC 支持引用技术查询和时间戳查询的接口,以及维测能力增强。

分布式数据管理

  • UDMF 支持数据类型标准化定义与描述、支持标准数据类型查询、支持数据访问授权与管理、支持应用自定义数据类型。

  • 新增限制数据不打分类分级标签则不允许跨设备同步。

  • preferences 支持 uint8Array 格式数据流的修改、查询和持久化。

  • RDB 支持在应用指定的沙箱路径子目录下创建数据库。

图形图像及窗口

图形图像

  • 系统支持可变帧率,提供 API 供业务接入。

  • 支持 HDR Vivid 视频的渲染与显示。

  • 图形 NDK 能力增强,支持为 NativeImage 添加 OnFrameAvailableListener 回调,支持为 NativeWindow 设置色域,新增支持 opengl 扩展接口,Drawing 能力进一步完善等。

  • 支持录屏不录制特定窗口,以及隐私窗口录制成全黑帧画面的能力。

  • 支持调整系统分辨率。

  • 支持系统根据动画调节帧率,支持开发者调节应用业务帧率。

  • 动效能力增强,支持硬件挖空,屏幕圆角,Navigation 导航转场动画支持共享元素等。

  • 图形渲染管线支持 vulkan 后端。

  • 图形接入 Drawing 接口。

  • nativeWindow 支持设置 metadata,适配 HDR 视频场景动态元数据随帧传递。

窗口

  • 提供 Window stage 可交互状态通知。

  • 提供全局搜索窗口类型。

媒体

  • 支持通话类应用接入媒体会话。

  • 支持投播组件的颜色自定义和状态监听。

  • 音视频编解码支持 AVBuffer 结构,支持系统数据零拷贝。

  • 解封装新增支持 AMR / MKV 规格。

相机

  • 对相机 PipeLine 代码进行了优化,PipeLine 各流解耦,允许不同流配置不同的分辨率。

  • 补全 USB 相机驱动功能,可控制 USB 相机自动 / 手动的曝光、对焦以及白平衡。

  • 添加私有 TAG 通道,定义了私有 TAG 实现方式,允许设备厂商自己定义相机 Metadata TAG。

事件通知

  • 支持系统应用发送实况窗类型的通知。

  • Emitter:支持订阅字符串类型事件;发送事件时传递的数据支持可序列化类型;支持获取订阅者数量。

  • 支持应用只接收自身发布的自定义公共事件。

公共基础类库

  • 支持在 HAR / HSP 中创建 Worker。

  • TaskPool 支持在执行过程中往宿主线程发送消息。

通信与连接

  • NFC 提供 HCE 卡模拟能力。

  • 在系统设置中可显示和设置默认支付应用处理,支持识别默认支付应用的变更。

  • Wi-Fi 提供热点类型的查询,可查询当前连接热点是否为手机热点。

  • 支持将 Wi-Fi 作为热点,并支持将接入的 STA 设备添加到黑名单的能力。

位置

  • 支持通过 sendCommand 接口删除辅助数据,用于支持冷热启动测试。

  • 支持地理编码,逆地理编码,查询地理编码服务状态等接口。

  • 支持在 MDM 管控场景下,MDM 调用位置服务接口强制开启或关闭位置服务功能。

电源

  • 对 DisplayPowerManager 的代码结构进行了调整,亮度管理功能模块变为独立的模块。

  • 新增支持设备关机状态下充电动画显示,充电电量可变化更新。

安全

  • 证书管理:支持开放用户 ca 证书路径、支持证书链校验和吊销检查能力、支持证书链构造的能力。

  • 关键资产存储:针对应用开发者需要在本地加密存储关键敏感的短数据(如用户的账号密码、银行卡号等)诉求,系统提供关键资产加密存储的能力,以及相应的安全访问控制能力,包括:

    • 支持关键资产写入,读取。

    • 支持关键资产更新。

    • 支持关键资产安全销毁。

    • 支持关键资产访问控制。

程序访问控制

权限管理

  • 支持在 UIExtensionAbility 界面上拉起权限弹窗。

  • 权限使用记录增加锁屏状态记录

  • 支持应用在使用期间弹出允许权限的选项。

DLP 权限管理服务

  • 支持以时间维度对受控文件进行访问控制。

  • 支持文档创建者在任意场景下可离线打开文档。

  • 支持帐号未登录状态下,弹框进行帐号登录验证。

  • 提供沙箱应用读取原始应用数据的机制和通路。

ArkCompiler

  • 动态 import 能力支持变量作为参数。

  • 提供运行时对类方法插桩和替换的 API。

  • 支持用“#”声明类的私有成员。

  • 支持 Sendable 类的跨线程序列化传输。

  • 支持 Ecmascript2022 规范。

资源管理

  • 支持 module.json 配置文件中通过右键菜单添加资源索引。

  • 支持对 resfile 资源目录打包编译。

  • 支持基于资源名称返回资源 id。

USB

  • 补齐 USB 服务设备管理能力,支持全设备、按设备类型、指定设备的禁用和解禁,并支持重启、热插拔场景下的禁用策略持久化能力。

  • 优化 USB 服务鉴权方式,新增访问控制权限,细化系统服务、系统应用的 USB 调用权限。

  • 修复 USB 服务批量传输、控制传输的接口漏洞,支持传输接口端到端可用,性能满足要求。

多模输入

  • 支持双击按压电源键拉起 ability。

  • 支持自定义鼠标光标。

  • 多模输入设置鼠标样式优化。

  • 支持按键监听按优先级处理的能力。

  • 支持光标大小、颜色的设置,支持动画光标样式。

泛 Sensor

  • 支持传感器数据精度的上报,使系统可感知不同设备传感器精度,优化应用适配。

  • 新增传感器、振动相关能力的 C API 接口。

  • 自定义振动格式进行扩展,新增支持 curve 字段描述复杂的连续振动效果。

设备管理

小型设备平台上支持 @ohos.deviceInfo.d.ts 的相关 API。

测试框架

自动化测试框架 arkxtest

  • 支持模拟鼠标滚轮滑动、滑动左右键双击等模拟 UI 操作能力。

  • 支持 Shell 命令方式进行 UI 模拟操作能力,支持点击、滑动、双击、文本输入等常用操作能力。

  • 提升 UI 测试框架查找控件信息效率。

  • 增强 dump 信息内容,新增文字大小、文字颜色信息。

  • 增加异步监听能力,监听系统弹框事件,获取其文本信息并返回。

测试调度框架 xDevice

  • 新增单次测试过程中自动复测失败项能力,并支持配置复测次数,最终生成一份测试报告。

  • 优化测试报告,统一轻量系统、小型系统、标准系统的测试报告头信息。

  • 新增支持测试套测试资源本地不存在时,可配置远程下载地址。

稳定性测试工具 WuKong

  • 新增 page 页面和 Ability 页面的配置能力,支持在测试过程中配置页面屏蔽,提升测试效率。

  • 新增单一场景压测能力,支持针对某一控件循环注入操作事件,并支持配置循环次数。

性能开发工具 SmartPerf Host

  • 新增支持 hilog、hisysevent 的采集、分析和展示。

  • 新增支持 hiperf event count 的分析和展示。

  • 提升抓取 trace 的能力,动态可暂停可调试。

  • 新增支持线程唤醒关系树的快速跟踪。

性能测试工具 SmartPerf Device

  • 优化已有抓取内存、CPU 数据的能力。

  • 新增启动停止采集的命令。

  • 新增定时获取截图、分辨率和刷新率的采集能力。

DFX

  • 提供 CPU、GPU、内存、IO、网络、trace 采集能力。

  • 故障类型数据生态开放。

  • HiDebug 支持应用运行时资源信息采集。

  • HiProfiler 支持高功耗应用在 CPU、GPS、AUDIO、DISPLAY、GPU 的深入调优;支持动效场景耗时分析(启动、退出、转屏、转场、滑动);支持 ftrace 数据轻量化采集。

  • HiProfiler / HiDumper 联合提供内存进程扩展内存信息的采集与增强。

  • HiTrace 支持轻量化及长时间采集。

  • HiPerf 支持符号解析和栈聚合能力。

上传下载

  • 支持多个前端模式任务与后台模式任务共享任务数量的能力。

  • 支持监听后台任务的状态和进度。

  • 支持任务的优先级,同样是前端(或者后台)模式的任务,也可以使用优先级来调整执行顺序

  • 自动使用系统级代理。

输入法框架

  • 优化了 Webview 获焦场景的输入法体验。

  • 优化了窗口焦点切换场景下的输入法体验。

  • 新增支持安全模式输入法。

  • 新增支持 Logo 键 + Space 切换输入法。

  • 新增输入法切换列表控件。

时间时区

  • 支持通过系统参数配置 NTP 服务器地址,最多支持配置 5 个。

  • 支持通过系统参数配置时间时区自动同步开关。

全球化

  • 支持应用语言列表的获取。

  • 支持日期快速计算。

  • 支持文本时间识别。

  • 支持设置和获取应用偏好语言。

  • 支持时段按不同国家或地区的习惯进行表达。

AI

MindSpore Lite 轻量化端侧学习能力开放 C API。

升级

  • 支持差分多线程升级的能力。

  • 增加升级过程中硬件故障重试机制,提升升级可靠性。

  • 正常模式下的语言参数能同步更新到升级阶段使用的 updater 简化系统中。

Web

  • 新增支持 Web 的无障碍能力。

  • 新增页面跳转事件上报接口。

  • 支持应用及网络代理、应用证书管理。

  • 支持同层渲染能力(仅限 xcomponent、button 等部分组件)。

  • 组件支持 DOM 构建完成后执行提前被注入的 JS 脚本。

  • 开放 RegisterJavaScriptProxy、RunJavaScript 能力的 C API 接口。

  • 资源拦截特性支持设置为 ArrayBuffer 数据类型。