開源鴻蒙 OpenHarmony 4.0 Release 正式發(fā)布,開發(fā)套件同步升級 API 10
今日,OpenHarmony 4.0 版本正式發(fā)布,開發(fā)套件同步升級到 API 10。
相比 3.2 Release 版本,4.0 版本新增 4000 多個(gè) ArkTS API,應(yīng)用開發(fā)能力更加豐富;HDF 新增 200 多個(gè) HDI 接口,硬件適配更加便捷;優(yōu)化圖形框架和方舟編譯器(ArkCompiler),用戶交互體驗(yàn)得到進(jìn)一步提升;ArkUI 組件定制化能力和組件動效能力也得到進(jìn)一步增強(qiáng);分布式硬件支持的范圍擴(kuò)大到音頻和輸入領(lǐng)域;分布式數(shù)據(jù)為開發(fā)者數(shù)據(jù)分享帶來了全新的統(tǒng)一數(shù)據(jù)管理框架。另外,該版本在媒體、安全和隱私保護(hù)等方面也得到了進(jìn)一步增強(qiáng)。
源碼獲取
前提條件:
- 注冊碼云 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 工具,可以執(zhí)行如下命令。
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3
>
/usr/local/bin/repo #如果沒有權(quán)限,可下載至其他目錄,并將其配置到環(huán)境變量中chmod a+x /usr/local/bin/repopip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
通過 repo 獲取
方式一(推薦)
通過 repo + ssh 下載(需注冊公鑰,請參考碼云幫助中心)。
從版本分支獲取源碼。可獲取該版本分支的最新源碼,包括版本發(fā)布后在該分支的合入。
repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-4.0-Release --no-repo-verifyrepo sync -crepo forall -c 'git lfs pull'
從版本發(fā)布 Tag 節(jié)點(diǎn)獲取源碼??色@取與版本發(fā)布時(shí)完全一致的源碼。
repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v4.0-Release --no-repo-verifyrepo sync -crepo forall -c 'git lfs pull'
方式二
通過 repo + https 下載。
從版本分支獲取源碼??色@取該版本分支的最新源碼,包括版本發(fā)布后在該分支的合入。
repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-4.0-Release --no-repo-verifyrepo sync -crepo forall -c 'git lfs pull'
從版本發(fā)布 Tag 節(jié)點(diǎn)獲取源碼??色@取與版本發(fā)布時(shí)完全一致的源碼。
repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v4.0-Release --no-repo-verifyrepo sync -crepo forall -c 'git lfs pull'
更新說明
本版本在 OpenHarmony 4.0 Beta2 的基礎(chǔ)上有如下變更:
API 變更
- OpenHarmony 4.0 Release 相比 4.0 Beta2 的 API 差異請點(diǎn)擊這里查看。
- OpenHarmony 4.0 Release 相比 3.2 Release 的 API 差異請點(diǎn)擊這里查看。
IT之家提醒,從 4.0 Beta2 至今,有少量接口變更可能影響此前應(yīng)用工程的兼容性或需要您關(guān)注,詳細(xì)的變更說明請點(diǎn)擊這里查看。
特性說明
應(yīng)用框架
Stage 模型完善了以下特性:
- 新增 Extension 能力最小化管理,支持各類 Extension 滿足業(yè)務(wù)場景需要。
- 新增 UIExtension 機(jī)制,用于實(shí)現(xiàn)有界面的 Extension,UIExtension 的界面可以通過 UIExtension 組件的方式嵌入到調(diào)用方應(yīng)用的窗口上顯示。
- 支持統(tǒng)一的 UIExtension 模板,定義基礎(chǔ)的生命周期和上下文能力。
- 支持原生默認(rèn)的 Extension 界面展示,方便開發(fā)者快速實(shí)現(xiàn) Extension 功能,同時(shí)也提供界面定制能力。
- 提供連接和斷連 ExtensionAbility 的能力。
- 支持對 UIExtensionAbility 頁面設(shè)置背景色。
- 支持對 UIExtensionAbility 頁面隱私屬性,設(shè)置了隱私的頁面不能被錄屏或截屏。
- 支持通過 UIExtensionAbility 連接 Service。
- 提供自定義操作業(yè)務(wù)的 ActionExtension、分享業(yè)務(wù)的 ShareExtension、備份恢復(fù)業(yè)務(wù)的 BackupExtension、驅(qū)動業(yè)務(wù)的 DriverExtension、打印業(yè)務(wù)的 PrintExtension。
- ArkTS 卡片能力增強(qiáng),支持靜態(tài)卡片配置、靜態(tài)圖展示,有效降低卡片內(nèi)存資源占用,支持通過數(shù)據(jù)代理的方式刷新內(nèi)容,有效降低卡片功耗。
- 支持元服務(wù)的分享,應(yīng)用開發(fā)者可以使用 UIAbility 組件提供的 UIAbility.onShare () 生命周期方法,設(shè)置要分享的數(shù)據(jù)。用戶可以通過分享框把元服務(wù)和卡片分享到另外一臺終端設(shè)備。
- 跨端遷移能力增強(qiáng),支持調(diào)用接口來動態(tài)打開和關(guān)閉遷移能力。應(yīng)用可動態(tài)選擇遷移成功后是否遷移頁面棧,以及源端是否退出。
應(yīng)用包管理
- 支持應(yīng)用安裝包免解壓特性,優(yōu)化系統(tǒng)啟動性能和應(yīng)用安裝性能。
- 支持應(yīng)用、元服務(wù)數(shù)據(jù)共享,在應(yīng)用安裝時(shí),解析證書文件中的 data-group-ids 列表,建立映射關(guān)系,創(chuàng)建數(shù)據(jù)共享路徑,實(shí)現(xiàn)應(yīng)用與元服務(wù)數(shù)據(jù)共享。
- 支持應(yīng)用安裝時(shí)設(shè)置分發(fā)類型和附加信息,提供 ArkTS 接口實(shí)現(xiàn)應(yīng)用分發(fā)類型和附加信息的設(shè)置和查詢。
- 支持根據(jù)文件擴(kuò)展名查詢打開文件的應(yīng)用列表,實(shí)現(xiàn)通過文件擴(kuò)展名打開文件。
- 支持企業(yè)應(yīng)用,提供企業(yè) MDM 應(yīng)用和企業(yè) normal 應(yīng)用的安裝,以及對企業(yè)應(yīng)用的管理和吊銷。
- 支持 overlay 能力,針對不同產(chǎn)品的顯示風(fēng)格,開發(fā)者可以在不重新編譯打包情況下,新增資源文件 overlay 包,實(shí)現(xiàn)應(yīng)用界面風(fēng)格變換。
- 拆包工具支持多語言,應(yīng)用市場可查詢包中的多語言信息,支持在不同的語言環(huán)境下分發(fā)應(yīng)用。
- 支持 so 文件不解壓使用,即不解壓 so 文件到單獨(dú)目錄,運(yùn)行期直接從包中讀取加載 so 文件,提升安裝速度和減少占用的 ROM 空間。
ArkUI
基礎(chǔ)組件增加或增強(qiáng):
- 新增 UIExtension 組件,用于將一個(gè)應(yīng)用通過 UIExtensionAblity 的方式,嵌入顯示到另一個(gè)應(yīng)用內(nèi)。
- 繪制組件 Rect / Circle / Ellipse / Line / Polyline / Polygon / Path / Rect / Shape 支持偏移、裁剪、遮罩等通用屬性,增強(qiáng)繪制組件基礎(chǔ)功能。
- 自定義彈框支持蒙層顏色及彈出動畫自定義,如允許設(shè)置彈出動畫效果的相關(guān)參數(shù),增強(qiáng)彈框的開發(fā)者自定義功能。
- bindContextMenu / bindMenu 支持自定義位置,允許設(shè)置菜單的位置,增強(qiáng)菜單基礎(chǔ)功能。
- ColumnSplit 分隔線支持可拖動,增強(qiáng)組件基礎(chǔ)功能。
- Refresh 組件支持自定義下拉刷新能力,允許設(shè)置下拉刷新時(shí)的顯示內(nèi)容,增強(qiáng)組件基礎(chǔ)能力。
- 支持文本組件中返回輸入字符串的寬高,用于字符串折疊顯示時(shí),鼠標(biāo)懸浮可彈出字符串完整提示框,增強(qiáng)文本組件基礎(chǔ)功能。
- Xcomponent 組件支持 Texture 模式繪制。
- Popup 組件支持自定義位置。
- ArkTS / JS 卡片支持 UI 渲染完成的回調(diào),方便獲取渲染完成的狀態(tài)并進(jìn)行下一步處理。
- Image / Text 組件支持設(shè)置隱私遮罩的屬性。
- 基礎(chǔ)組件特性增強(qiáng),提升終端用戶的體驗(yàn),包括彈框支持通過鍵盤 ESC 鍵逐層退出、ListItem 支持長距離左滑刪除手勢、ContextMenu 支持分段顯示能力等。
- Grid 組件支持設(shè)置布局信息。
- Menu 組件支持設(shè)置圓角。
- 半模態(tài)組件支持設(shè)置高度自適應(yīng)。
動畫效果增加或增強(qiáng):
- 支持組件屬性變化的過渡動效,如組件的尺寸、背景色、透明度等屬性發(fā)生變化時(shí)通過過渡動效銜接變化前后的狀態(tài),提升組件屬性變化時(shí)的動畫體驗(yàn)。
- 支持給組件設(shè)置球面高階屬性、下邊緣像素?cái)U(kuò)展、取色模糊、G2 圓角、陰影、漸變等高階圖形屬性,豐富高階動畫效果。
- 布局屬性、背景圖片大小位置屬性、顯隱屬性支持隱式動效。
- List 新增支持 scrollToIndex 動效、Tasb 模糊動效、Popup 出現(xiàn) / 消失動效。
- 支持自定義動畫,滿足多種多樣的動畫訴求。
- 開發(fā)效率增強(qiáng):支持命名路由的能力,借助此能力可針對不同頁面設(shè)置差異化的切換動效;輕量級 ArkUI 框架支持定義全局?jǐn)?shù)據(jù)對象,可進(jìn)行應(yīng)用內(nèi)頁面間的數(shù)據(jù)共享。
- 框架能力增強(qiáng),包括:全局 API 支持 Stage 模型多實(shí)例場景,支持 Rosen 渲染后端等。
- 對富文本的交互能力增強(qiáng):新增支持手勢長按選中文本、支持鼠標(biāo)拖動選中文本、支持設(shè)置文本可編輯(通過通用屬性設(shè)置富文本框是否使能編輯)、支持對輸入事件的監(jiān)聽。
- 彈窗功能增強(qiáng),新增錯(cuò)誤、信息和詢問三種消息彈窗接口,完善警告彈窗三按鈕場景和交互優(yōu)化。
ArkCompiler
高級語言調(diào)試調(diào)優(yōu):
- 熱重載性能優(yōu)化,支持多 hap 等場景。
- 支持多實(shí)例調(diào)優(yōu)。
高級語言并發(fā)增強(qiáng):
- TaskPool 支持任務(wù)中斷和取消,支持定義任務(wù)組(TaskGroup),支持對任務(wù)的狀態(tài)和調(diào)度信息進(jìn)行打點(diǎn),支持超長等待的任務(wù)進(jìn)行識別和恢復(fù)。
- TaskPool 支持優(yōu)先級設(shè)置及自動擴(kuò)縮容算法。
高級語言優(yōu)化編譯:
- 正式定義 ArkTS 語法規(guī)則并新增 ArkTS 語法檢查,在使用 DevEco Studio 進(jìn)行代碼編譯時(shí)會對不符合 ArkTS 語法規(guī)則的代碼進(jìn)行告警。語法檢查的規(guī)則詳見從 TypeScript 到 ArkTS 的遷移指導(dǎo)。
- AOT 優(yōu)化編譯支持端側(cè)閑時(shí)編譯,增強(qiáng)編譯優(yōu)化進(jìn)一步提升性能。
- PGO 支持采集運(yùn)行期的類型和函數(shù)熱點(diǎn)信息,支持 AOT 優(yōu)化編譯 JS 代碼,提升動態(tài) JS 代碼的運(yùn)行性能。
高級語言運(yùn)行時(shí)其它功能:
- 支持動態(tài) import 加載 NAPI 庫。
- NAPI buffer、object、arraybuffer、object type 接口功能補(bǔ)齊。
編譯工具鏈更新:
- clang / llvm 工具鏈升級到 15.0.4 版本。
- libc 版本升級到 1.2.3 版本,libc 庫接口性能優(yōu)化。
- sigaction 函數(shù)提供 sigchain 功能。
分布式數(shù)據(jù)管理
- DataShare 客戶端提供按 URI 前綴訂閱 DataShareExtension 數(shù)據(jù)變化的能力,被訂閱的 URI 前綴下任何 DataShareExtension 數(shù)據(jù)發(fā)生變化都會通知 DataShare 客戶端。
- 新增統(tǒng)一數(shù)據(jù)管理框架(Unified Data Management Framework, UDMF),支持?jǐn)?shù)據(jù)標(biāo)準(zhǔn)化模型、設(shè)備內(nèi)數(shù)據(jù)拖拽、UDMF 數(shù)據(jù)存儲適配、權(quán)限管理、生命周期管理。UDMF 框架下支持應(yīng)用的跨設(shè)備拖拽,在此過程中允許對分布式目錄中的文件臨時(shí)授權(quán)。
- 提供 RDBstore NDK 接口 :包含增 / 刪 / 改 / 查 / 事務(wù)、數(shù)據(jù)加密、數(shù)據(jù)分級保護(hù)、備份 / 恢復(fù)能力。
- Key-Value 和分布式數(shù)據(jù)對象支持根據(jù)數(shù)據(jù)量自動選擇數(shù)據(jù)同步的通道。系統(tǒng)會根據(jù)數(shù)據(jù)量大小自動選擇藍(lán)牙通道或基于 Wi-Fi 的 P2P 通道進(jìn)行數(shù)據(jù)的同步。
- 支持系統(tǒng)應(yīng)用通過數(shù)據(jù)管理服務(wù)代理靜默訪問其他系統(tǒng)應(yīng)用的 DataShareExtension 數(shù)據(jù),即不拉起 DataShareExtension 所在的應(yīng)用即可訪問應(yīng)用 DataShareExtension 的數(shù)據(jù)。
分布式軟總線
- 支持對基于軟總線連接的 link 信息進(jìn)行管理。
- 支持會話級的傳輸能力協(xié)商,可通過協(xié)商確定設(shè)備間傳輸?shù)哪芰Α?/li>
分布式硬件
- 分布式音頻支持揚(yáng)聲器(speaker),麥克風(fēng)(mic)的資源池化管理,可以在 native 系統(tǒng)服務(wù)中跨設(shè)備使用遠(yuǎn)端設(shè)備的揚(yáng)聲器和麥克風(fēng),并支持控制遠(yuǎn)端設(shè)備的揚(yáng)聲器音量。
- 分布式輸入支持鍵盤,鼠標(biāo),觸摸板的資源池化管理,可以在系統(tǒng)應(yīng)用中觸發(fā)跨設(shè)備的鍵盤、鼠標(biāo)和觸摸板的使用。
文件管理
- 支持文件分類視圖管理能力,圖庫等應(yīng)用以相冊方式管理媒體文件(圖片、視頻無需關(guān)注具體存儲位置),相冊內(nèi)添加、移除文件等功能不涉及具體的 File IO 行為。支持三方應(yīng)用通過 PhotoAccessHelper 接口獲取相冊列表,訪問相冊內(nèi)圖片、視頻等文件。
- 提供增強(qiáng)的 FileIO 訪問能力,支持 randomAccessFile、moveDir、copyDir 能力。
- 提供基于 URI 的文件臨時(shí)授權(quán)訪問及取消授權(quán)能力,支持文件的跨應(yīng)用本地授權(quán)或跨設(shè)備授權(quán)。
- 支持公共圖片文件在設(shè)備端和云端進(jìn)行同步(設(shè)備登錄的帳號需開通云端服務(wù)),支持通過 picker 選擇云端的圖片。
- 支持應(yīng)用定制備份恢復(fù)的目錄。
- 支持應(yīng)用監(jiān)聽沙箱內(nèi)的文件變化。
圖形顯示及窗口
圖形
穩(wěn)定流暢:
- 對統(tǒng)一渲染模式進(jìn)行了性能優(yōu)化,包含基于共享內(nèi)存的 IPC 性能優(yōu)化、基于遮擋剔除和緩存等技術(shù)的渲染性能優(yōu)化、基于硬件合成器能力的能效提升等。
- 圖形處理依賴的渲染庫升級至 Skia 0310 新版本,提升了渲染性能。
極致動效:
- 支持組件自繪制內(nèi)容的屬性動畫。支持組件設(shè)置出現(xiàn)和消失的轉(zhuǎn)場動畫。
- 支持取色能力,支持漸變模糊,支持邊緣像素?cái)U(kuò)展,支持漸亮效果,支持多種模糊材質(zhì)能力。
圖片能力增強(qiáng):
- 圖片編解碼能力增強(qiáng):支持 SVG 格式圖片解碼,ico 格式圖片解碼,GIF 增量解碼,jpeg_IDCT 縮放解碼,png 圖片編碼,圖片 exif 信息拓展。
- 圖片接口能力增強(qiáng):支持 Pixelmap JS 側(cè)的序列化反序列化,提供 ImageReceiver 和圖片解碼 NDK 接口。
窗口
- 支持監(jiān)聽窗口的獲焦?fàn)顟B(tài),可以監(jiān)聽單個(gè)窗口的獲焦、失焦和顯示隱藏狀態(tài)。
- 支持應(yīng)用將子窗口 z 軸順序調(diào)整到當(dāng)前應(yīng)用窗口中的頂層。
- 支持查詢屏幕的顯示模式(鏡像、擴(kuò)展),提供停止鏡像和停止擴(kuò)展 API。
- 優(yōu)化了 display 模塊的參數(shù)值獲取方式,從原先軟件方式優(yōu)化為從硬件直接獲取真實(shí)值。
- 支持通過窗口設(shè)置將屏幕亮度恢復(fù)默認(rèn)值。
- 重構(gòu)沉浸式實(shí)現(xiàn)方式,優(yōu)化應(yīng)用打開、退出、跳轉(zhuǎn)下的動畫效果。
媒體
音頻
- 支持通過 Native 接口(OHAudio)進(jìn)行音頻播放和錄制。對于音頻錄制和播放的時(shí)延比較敏感的場景,使用 Native 接口可實(shí)現(xiàn)更低的時(shí)延。
- 支持查詢或監(jiān)聽當(dāng)前優(yōu)先級最高的播放設(shè)備。
- 支持鬧鐘音量的獨(dú)立調(diào)整。
- 支持通過物理按鍵設(shè)置靜音。
- 支持音頻焦點(diǎn):應(yīng)用播放音頻時(shí)無需手動申請焦點(diǎn),系統(tǒng)會在后臺自動申請焦點(diǎn),并自動執(zhí)行焦點(diǎn)策略(如暫停、淡出、淡出恢復(fù)等);應(yīng)用僅需要注冊焦點(diǎn)事件監(jiān)聽函數(shù),以接收焦點(diǎn)事件并更新狀態(tài),如暫停時(shí)停止進(jìn)度條。支持短音播放。
- 支持音效模式:應(yīng)用可查詢音頻輸出的音效模式,切換或關(guān)閉音效模式。
- 支持系統(tǒng)內(nèi)錄音能力:可根據(jù)音頻場景屬性篩選,錄制系統(tǒng)內(nèi)播放的音頻數(shù)據(jù),支持對錄音設(shè)備進(jìn)行查詢。
- 音頻設(shè)備能力增強(qiáng):支持獲取音頻設(shè)備顯示名,播放對象詳細(xì)信息內(nèi)可獲取當(dāng)前播放輸出歸屬的設(shè)備名。支持對藍(lán)牙連接的多個(gè)可用于音頻播放的設(shè)備進(jìn)行查詢并選擇音頻播放的設(shè)備。支持標(biāo)準(zhǔn) USB 協(xié)議的音頻外設(shè)。
播控框架
- 支持媒體提供方和控制方之間傳遞自定義媒體信息,應(yīng)用可擴(kuò)展媒體內(nèi)容展示方式,如媒體控制方可要求媒體提供方按特殊形式顯示歌曲歌詞。
- 支持媒體播放列表的框架能力,媒體提供方提供播放列表內(nèi)容,媒體控制方獲取播放列表內(nèi)容并可以選擇任一媒體內(nèi)容進(jìn)行播放。
- 支持播放歷史記錄的框架能力,媒體會話框架提供查詢歷史播放應(yīng)用的列表,列表項(xiàng)按播放先后順序排序(包含當(dāng)前播放的和已退出的應(yīng)用)。
- 提供自定義媒體事件的傳輸通道,如歌詞內(nèi)容的傳輸通道,媒體提供方提供歌詞內(nèi)容,媒體控制方獲取歌詞內(nèi)容。
- 提供自定義的媒體控制命令的傳輸通道,媒體控制方可以利用該自定義命令傳輸通道向媒體提供方發(fā)送自定義控制命令,如媒體控制方要求媒體提供方顯示彈幕信息。
媒體播放
- 支持基于 HLS 協(xié)議的網(wǎng)絡(luò)直播功能以及基于 datasource 的流式播放功能。
- 支持基于 HDI 的 H.265 視頻硬解播放能力。
- 支持播放音頻屬性設(shè)置,用戶在使用播放器的時(shí)候可以選擇輸出聲音的類型。
- 支持視頻自帶的旋轉(zhuǎn)播放功能。
- 支持音效參數(shù)配置,可以在音頻框架支持音效的能力基礎(chǔ)上進(jìn)一步配置音效。
相機(jī)
- 支持前置預(yù)覽鏡像能力,默認(rèn)情況下,前置預(yù)覽畫面呈鏡像狀態(tài)。
- 支持分布式攝像頭查詢該攝像頭的主設(shè)備屬性,包括設(shè)備名稱和設(shè)備類型。
- 支持更精細(xì)化的分辨率查詢,可以按照預(yù)覽、拍照、錄像用途查詢支持的尺寸、格式和幀率信息。
- 相機(jī)框架提供橫向歸一化坐標(biāo)系 [0, 0, 1, 1],所有與坐標(biāo)相關(guān)的操作都基于這套坐標(biāo)系完成。
- 不同相機(jī)應(yīng)用使用同一個(gè)攝像頭場景下,相機(jī)框架具備優(yōu)先級管控和互斥策略。
音視頻編解碼
- 支持獲取系統(tǒng)的音視頻編解碼,可以調(diào)用本模塊的 Native API 接口,查詢系統(tǒng)編解碼能力的支持情況。
- 支持音視頻封裝,可以調(diào)用本模塊的 Native API 接口,完成音視頻封裝,即將音頻、視頻等編碼后的媒體數(shù)據(jù),按一定的格式存儲到文件里。
- 支持音視頻解封裝,可以調(diào)用本模塊的 Native API 接口,完成音視頻解封裝,即從比特流數(shù)據(jù)中取出音頻、視頻等媒體幀數(shù)據(jù)。
事件通知
- 支持應(yīng)用設(shè)置靜態(tài)事件訂閱的開關(guān)。
- 支持系統(tǒng)應(yīng)用刪除已發(fā)布的粘性事件。
- 支持應(yīng)用設(shè)置代表通知數(shù)量的數(shù)字角標(biāo)。
- 支持將通知設(shè)置為不可移除。
- 支持選定通知并批量刪除通知。
- 應(yīng)用內(nèi)事件處理模塊支持取消已按條件指定訂閱的回調(diào)。
通信與連接
- 支持 NFC eSE 卡模擬能力。
- 支持 Wi-Fi 連接 AP 時(shí)使用隨機(jī) MAC。
- 支持 Wi-Fi 通過靜態(tài) IP 連接 AP。
系統(tǒng)服務(wù)管理
- 支持系統(tǒng)服務(wù)按需啟動機(jī)制,例如外部調(diào)用、事件觸發(fā),同時(shí)支持在設(shè)備空閑時(shí)自動退出系統(tǒng)服務(wù)。
- 系統(tǒng)服務(wù)配置格式優(yōu)化,使用 JSON 格式替代 XML 格式。
電源
- 增強(qiáng)系統(tǒng)電量等級查詢及上報(bào)能力,支持電量等級的裁剪和定制。
- 支持有線和無線充電類型上報(bào),充電類型包括普通充電、快速充電和超級快速充電。
- 增強(qiáng)運(yùn)行鎖的管控機(jī)制,明確系統(tǒng)電源狀態(tài)和等級。
- 提供喚醒源設(shè)置能力,支持通過電源鍵、鼠標(biāo)、鍵盤、觸控板、屏幕、手寫筆、皮套等方式喚醒設(shè)備。
- 提供休眠源設(shè)置能力,支持通過電源鍵、皮套、及超時(shí)自動休眠等方式設(shè)置設(shè)備休眠。
- 提供電源管理、電池管理、顯示亮度管理、耗電統(tǒng)計(jì)及熱管理的開發(fā)指南。
- 新增系統(tǒng)接口,支持設(shè)置系統(tǒng)立即進(jìn)入睡眠狀態(tài)。
多模輸入
- 支持將鍵盤輸入設(shè)備的原始事件映射為歸一化交互的意圖事件。
- 支持用戶根據(jù)個(gè)人習(xí)慣設(shè)置觸控板功能的個(gè)性化配置:
- 支持兩種觸發(fā)模式映射鼠標(biāo)左鍵功能:按壓、輕點(diǎn)。
- 支持兩種觸發(fā)模式映射鼠標(biāo)右鍵功能:點(diǎn)按左 / 右下角、雙指點(diǎn)按或輕點(diǎn)。
- 跟蹤速度:支持 10 檔速度調(diào)節(jié)。
- 支持兩種交互模式映射鼠標(biāo)滾輪功能:內(nèi)容隨手指移動方向、內(nèi)容隨手指反向移動。
主題框架
- 鎖屏管理服務(wù):支持鎖屏事件回調(diào)機(jī)制、支持靜態(tài) / 動態(tài)壁紙、支持查詢鎖屏?xí)r的業(yè)務(wù)狀態(tài)。
- 壁紙管理服務(wù):支持自定義壁紙、支持鎖屏 / 解鎖操作、支持重置壁紙。
上傳下載
- 新增接口,使用統(tǒng)一配置參數(shù)與接口完成上傳下載業(yè)務(wù)任務(wù)創(chuàng)建執(zhí)行,完善業(yè)務(wù)流程。
- 支持任務(wù)信息持久化記錄,查詢方式靈活多樣,任務(wù)信息更加全面,支持按過濾條件查詢?nèi)蝿?wù)信息。
- 增強(qiáng)安全隱私保護(hù),增加系統(tǒng)管理接口權(quán)限。
- 支持文件覆蓋下載、分片上傳下載、自定義 token 任務(wù)創(chuàng)建。
- 支持服務(wù)按需啟停,應(yīng)用調(diào)用相關(guān)接口時(shí)啟動,任務(wù)空閑時(shí)自動退出。
時(shí)間時(shí)區(qū)
- 獲取系統(tǒng)時(shí)間、系統(tǒng)啟動時(shí)間提供同步接口。獲取到的時(shí)間更精準(zhǔn),且提供較好的開發(fā)者體驗(yàn)。
- 獲取日期接口廢棄,由 ArkTS 公共庫 new Date () 接口替代。
輸入法
- 新增同步接口,用于獲取編輯框信息。
網(wǎng)絡(luò)管理
- 提供 IPv6 基礎(chǔ)能力,包括 DNS 解析、應(yīng)用通過 http / https / socket 聯(lián)網(wǎng),蜂窩 / Wi-Fi / 有線網(wǎng)絡(luò)下均可支持 IPv4 / IPv6 雙棧接入。
- 新增同步接口,針對 @ohos.net.connection 模塊的高頻接口,在原有異步接口基礎(chǔ)上新增了對應(yīng)的同步接口。
打印
- 提供打印服務(wù)功能,應(yīng)用可以通過 print 接口觸發(fā)打印業(yè)務(wù)。打印服務(wù)提供了系統(tǒng)默認(rèn)的打印預(yù)覽界面和任務(wù)管理界面,可以管理網(wǎng)絡(luò)打印機(jī)設(shè)備連接。
安全
- 加解密算法庫框架
- 提供 DSA 數(shù)字簽名算法能力。
- 提供 DSA、ECC、RSA 密鑰解析和密鑰參數(shù)的獲取能力。
- 提供安全隨機(jī)數(shù)生成算法類型的獲取能力。
- 提供 SM4 密鑰的隨機(jī)生成與轉(zhuǎn)換,以及加密解密能力。
- 提供 SM3 密鑰的 HMAC 和 HASH 的能力。
- 提供 SM2 密鑰的隨機(jī)生成與轉(zhuǎn)換、簽名及驗(yàn)簽、以及加密解密能力。
密鑰管理
- 基于 GID 派生芯片級密鑰的能力。
- 支持國密密鑰的安全導(dǎo)入。
- 支持二次身份認(rèn)證的細(xì)粒度訪問控制。
- 密鑰管理簽名支持簽名 NO HASH 模式。
- 密鑰管理算法支持運(yùn)算時(shí)指定密鑰參數(shù)。
- 支持 HUKS 密鑰加密保護(hù)。
- 支持 KeyAttestation 公鑰證書中增加對密鑰所屬業(yè)務(wù)身份字段。
- 支持標(biāo)準(zhǔn) HDI 南向接口。
設(shè)備互信認(rèn)證
- 支持在以下兩種場景的設(shè)備間互信認(rèn)證流程中生成假名,支持識別及標(biāo)識設(shè)備的假名化名稱。
- 對同帳號登錄的多個(gè)設(shè)備進(jìn)行互信認(rèn)證。
- 對非同帳號的點(diǎn)對點(diǎn)互聯(lián)的兩個(gè)設(shè)備進(jìn)行互信認(rèn)證。
安全基礎(chǔ)能力
- 支持小型設(shè)備查詢其它設(shè)備的設(shè)備安全等級信息。
證書管理
- 支持外部指定 RSA 密鑰簽名摘要及填充簽名和驗(yàn)簽?zāi)芰Α?/li>
程序訪問控制
- 支持拉起應(yīng)用粒度的權(quán)限管理界面。
- 支持對系統(tǒng)應(yīng)用的所屬身份進(jìn)行校驗(yàn)。
- 優(yōu)化權(quán)限管理的菜單呈現(xiàn),拆分媒體和文件的權(quán)限組,相應(yīng)權(quán)限的授權(quán)粒度更加精細(xì)化。
賬號
- 支持帳號授權(quán)能力擴(kuò)展和三方應(yīng)用使用帳號授權(quán)能力。
- 支持域帳號插件管理、域帳號管理、域帳號認(rèn)證能力。
用戶 IAM
- 提供統(tǒng)一身份認(rèn)證控件,完善用戶身份認(rèn)證能力,方便系統(tǒng)開發(fā)者調(diào)用身份認(rèn)證能力并且生態(tài)體驗(yàn)統(tǒng)一。
- 統(tǒng)一身份認(rèn)證控件提供了系統(tǒng)默認(rèn)的用戶身份認(rèn)證界面,選擇使用帶控件的接口 getUserAuthInstance, AuthParam 指定認(rèn)證參數(shù),WidgetParam 指定控件顯示參數(shù)。為確保用戶在系統(tǒng)上有統(tǒng)一的身份認(rèn)證體驗(yàn),建議開發(fā)者使用 API version 10 提供的新用戶身份認(rèn)證接口。
WebView
- W3C 能力補(bǔ)充完善:補(bǔ)充 Web camere 能力,以及 bindContextMenu、Select、date 類型 input 等 H5 標(biāo)簽?zāi)芰Α?/li>
- 支持多渲染進(jìn)程的進(jìn)程拆分。
- 支持文字、圖片基礎(chǔ)拖拽能力。
- 支持 WebRTC 的視頻會議能力(不含攝像頭共享)。
- 支持渲染進(jìn)程獨(dú)立 SELinux 標(biāo)簽,增強(qiáng)安全基礎(chǔ)能力。
- 支持識別 Web 組件渲染進(jìn)程、顯示線程和場景信息,并通知系統(tǒng)資源調(diào)度進(jìn)行 CPU 管控。
內(nèi)核
- 支持 HCK 內(nèi)核接口框架。
- 支持 Linux 內(nèi)核 config 多級分層配置。
- 代碼執(zhí)行權(quán)限管控能力增強(qiáng),新增了以下能力:
- -支持安全內(nèi)存機(jī)制。
- -支持不同場景的代碼執(zhí)行權(quán)限管控策略。
- -支持代碼執(zhí)行權(quán)限管控的全生命周期管理能力。
- -支持解析可執(zhí)行文件獲取代碼段信息。
- -支持代碼頁的完整性保護(hù)能力。
驅(qū)動
擴(kuò)展設(shè)備驅(qū)動框架提供以下能力:
- 擴(kuò)展設(shè)備驅(qū)動框架基于“驅(qū)動擴(kuò)展 Ability(DriverExtensionAbility)”的能力,構(gòu)建應(yīng)用態(tài)擴(kuò)展驅(qū)動包的開發(fā)、部署、安裝、更新、卸載、運(yùn)行能力,開放全流程生命周期管理能力。
- 支持三方設(shè)備廠商開發(fā)的非標(biāo)準(zhǔn)協(xié)議的可插拔 USB 設(shè)備擴(kuò)展驅(qū)動包,正常安裝到 OpenHarmony 系統(tǒng)。插入 USB 設(shè)備后,能正常識別 USB 設(shè)備并與擴(kuò)展驅(qū)動包匹配。
- 支持三方應(yīng)用通過擴(kuò)展外部設(shè)備管理框架查詢并綁定 USB 設(shè)備擴(kuò)展驅(qū)動包,完成對擴(kuò)展驅(qū)動包定制功能的操作。
- 相機(jī)驅(qū)動提供以下能力:
- -提供 USB 相機(jī)熱插拔識別能力,支持開機(jī)啟動檢查識別和啟動后熱插拔識別。
- -支持 USB 相機(jī)的預(yù)覽、拍照、錄像能力,提供相機(jī)格式、分辨率查詢和配置能力。
- 編解碼驅(qū)動提供 JPEG 圖片硬件解碼加速能力,包括獲取硬件解碼信息,初始化 / 去初始化,解碼,申請 / 釋放 buffer,提升用戶瀏覽圖片流暢度體驗(yàn)。
- 傳感器驅(qū)動提供溫濕度傳感器設(shè)備驅(qū)動能力,支持小型設(shè)備溫濕度器件查詢,器件使能 / 去使能,數(shù)據(jù)查詢能力,豐富智能設(shè)備傳感器能力。
泛 Sensor
- 支持對設(shè)備所支持的預(yù)置振動效果進(jìn)行查詢,可通過 EffectId 查詢某個(gè)振動效果在設(shè)備上是否被支持。
- 新增振動全停接口,無需傳入對應(yīng)的振動模式,可直接停止當(dāng)前任意模式所設(shè)置的振動。
- 新增播放振動配置文件接口,支持從文件播放自定義觸覺的控制模式,播放執(zhí)行結(jié)果依賴設(shè)備的振感器件能力。
測試
測試框架 arkxtest
- 支持自動化腳本測試套嵌套定義能力,提升開發(fā)者腳本設(shè)計(jì)靈活性。
- 支持對象級斷言能力,提升測試腳本斷言能力。
- 支持模擬中文輸入、模擬鼠標(biāo)操作、區(qū)域截圖的能力。
自測試執(zhí)行框架 developer_test
- 支持測試任務(wù)管理能力,開發(fā)者通過任務(wù) ID 執(zhí)行歷史任務(wù),提升開發(fā)者自測試效率。
- 支持精準(zhǔn)測試能力,支持子系統(tǒng)、部件、測試套、測試用例級測試用例篩選執(zhí)行能力,提升開發(fā)者自測試效率。
- 支持對接執(zhí)行 hats 用例,豐富執(zhí)行用例范圍。
- 支持穩(wěn)定性測試能力,支持測試用例亂序執(zhí)行。
- 支持覆蓋率統(tǒng)計(jì)能力,支持開發(fā)者本地一鍵式生成代碼覆蓋率數(shù)據(jù)。
穩(wěn)定性測試工具 wukong
- 支持旋轉(zhuǎn)事件注入,增強(qiáng)注入能力。
性能調(diào)試開發(fā)工具 SmartPerf Host
- 支持 Frame timeline 抓取和展示能力,開發(fā)者可以抓取和展示卡頓丟幀檢測的數(shù)據(jù)。
- 支持 Scheduling analysis 抓取和展示能力,開發(fā)者可以抓取和展示 CPU 調(diào)度分析,線程調(diào)度分析相關(guān)數(shù)據(jù)。
- 支持調(diào)用??梢暬筒煌瑤旌瘮?shù)調(diào)用占比展示能力,開發(fā)者可以抓取并通過餅圖的方式展示調(diào)用棧及不同庫函數(shù)的占比。
性能數(shù)據(jù)采集 SmartPerf Device
- 支持應(yīng)用冷熱啟、頁面內(nèi)切換、滑動幀率測試能力,開發(fā)者可以測試應(yīng)用冷熱啟動時(shí)延、頁面切換時(shí)延、滑動幀率測試能力。
- 支持端側(cè)測試數(shù)據(jù)對接云端看板能力,開發(fā)者可以將端側(cè)測試報(bào)告上傳云端查看或下載云端數(shù)據(jù)到本地。