OpenHarmony 4.0 Release
版本概述
OpenHarmony 4.0版本如期而至,開發套件同步升級到API 10。相比3.2 Release版本,新增4000多個API,應用開發能力更加豐富;HDF新增200多個HDI接口,硬件適配更加便捷;我們持續優化圖形框架和方舟編譯器(ArkCompiler),用戶交互體驗得到進一步提升;ArkUI組件定制化能力和組件動效能力也得到進一步增強;分布式硬件支持的范圍擴大到音頻和輸入領域;分布式數據為開發者數據分享帶來了全新的統一數據管理框架。另外,該版本在媒體、安全和隱私保護等方面也得到了進一步增強,歡迎開發者踴躍使用并給我們提出寶貴意見。
您可以閱讀本文檔了解更多關鍵特性及能力。
特性說明
熟悉鴻蒙開發指導文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]點擊或者復制轉到。
應用框架
Stage模型完善了以下特性:
- 新增Extension能力最小化管理,支持各類Extension滿足業務場景需要。
- 新增UIExtension機制,用于實現有界面的Extension,UIExtension的界面可以通過UIExtension組件的方式嵌入到調用方應用的窗口上顯示。
- 支持統一的UIExtension模板,定義基礎的生命周期和上下文能力。
- 支持原生默認的Extension界面展示,方便開發者快速實現Extension功能,同時也提供界面定制能力。
- 提供連接和斷連ExtensionAbility的能力。
- 支持對UIExtensionAbility頁面設置背景色。
- 支持對UIExtensionAbility頁面隱私屬性,設置了隱私的頁面不能被錄屏或截屏。
- 支持通過UIExtensionAbility連接Service。
- 提供自定義操作業務的ActionExtension、分享業務的ShareExtension、備份恢復業務的BackupExtension、驅動業務的DriverExtension、打印業務的PrintExtension。
- ArkTS卡片能力增強,支持靜態卡片配置、靜態圖展示,有效降低卡片內存資源占用,支持通過數據代理的方式刷新內容,有效降低卡片功耗。
- 支持元服務的分享,應用開發者可以使用UIAbility組件提供的UIAbility.onShare()生命周期方法,設置要分享的數據。用戶可以通過分享框把元服務和卡片分享到另外一臺終端設備。
- 跨端遷移能力增強,支持調用接口來動態打開和關閉遷移能力。應用可動態選擇遷移成功后是否遷移頁面棧,以及源端是否退出。
應用包管理
- 支持應用安裝包免解壓特性,優化系統啟動性能和應用安裝性能。
- 支持應用、元服務數據共享,在應用安裝時,解析證書文件中的data-group-ids列表,建立映射關系,創建數據共享路徑,實現應用與元服務數據共享。
- 支持應用安裝時設置分發類型和附加信息,提供ArkTS接口實現應用分發類型和附加信息的設置和查詢。
- 支持根據文件擴展名查詢打開文件的應用列表,實現通過文件擴展名打開文件。
- 支持企業應用,提供企業MDM應用和企業normal應用的安裝,以及對企業應用的管理和吊銷。
- 支持overlay能力,針對不同產品的顯示風格,開發者可以在不重新編譯打包情況下,新增資源文件overlay包,實現應用界面風格變換。
- 拆包工具支持多語言,應用市場可查詢包中的多語言信息,支持在不同的語言環境下分發應用。
- 支持so文件不解壓使用,即不解壓so文件到單獨目錄,運行期直接從包中讀取加載so文件,提升安裝速度和減少占用的ROM空間。
ArkUI
- 基礎組件增加或增強:
- 新增UIExtension組件,用于將一個應用通過UIExtensionAbility的方式,嵌入顯示到另一個應用內。
- 繪制組件Rect/Circle/Ellipse/Line/Polyline/Polygon/Path/Rect/Shape支持偏移、裁剪、遮罩等通用屬性,增強繪制組件基礎功能。
- 自定義彈框支持蒙層顏色及彈出動畫自定義,如允許設置彈出動畫效果的相關參數,增強彈框的開發者自定義功能。
- bindContextMenu/bindMenu支持自定義位置,允許設置菜單的位置,增強菜單基礎功能。
- ColumnSplit分隔線支持可拖動,增強組件基礎功能。
- Refresh組件支持自定義下拉刷新能力,允許設置下拉刷新時的顯示內容,增強組件基礎能力。
- 支持文本組件中返回輸入字符串的寬高,用于字符串折疊顯示時,鼠標懸浮可彈出字符串完整提示框,增強文本組件基礎功能。
- Xcomponent組件支持Texture模式繪制。
- Popup組件支持自定義位置。
- ArkTS/JS卡片支持UI渲染完成的回調,方便獲取渲染完成的狀態并進行下一步處理。
- Image/Text組件支持設置隱私遮罩的屬性。
- 基礎組件特性增強,提升終端用戶的體驗,包括彈框支持通過鍵盤ESC鍵逐層退出、ListItem支持長距離左滑刪除手勢、ContextMenu支持分段顯示能力等。
- Grid組件支持設置布局信息。
- Menu組件支持設置圓角。
- 半模態組件支持設置高度自適應。
- 動畫效果增加或增強:
- 支持組件屬性變化的過渡動效,如組件的尺寸、背景色、透明度等屬性發生變化時通過過渡動效銜接變化前后的狀態,提升組件屬性變化時的動畫體驗。
- 支持給組件設置球面高階屬性、下邊緣像素擴展、取色模糊、G2圓角、陰影、漸變等高階圖形屬性,豐富高階動畫效果。
- 布局屬性、背景圖片大小位置屬性、顯隱屬性支持隱式動效。
- List新增支持scrollToIndex動效、Tabs模糊動效、Popup出現/消失動效。
- 支持自定義動畫,滿足多種多樣的動畫訴求。
- 開發效率增強:支持命名路由的能力,借助此能力可針對不同頁面設置差異化的切換動效;輕量級ArkUI框架支持定義全局數據對象,可進行應用內頁面間的數據共享。
- 框架能力增強,包括:全局API支持Stage模型多實例場景,支持Rosen渲染后端等。
- 對富文本的交互能力增強:新增支持手勢長按選中文本、支持鼠標拖動選中文本、支持設置文本可編輯(通過通用屬性設置富文本框是否使能編輯)、支持對輸入事件的監聽。
- 彈窗功能增強,新增錯誤、信息和詢問三種消息彈窗接口,完善警告彈窗三按鈕場景和交互優化。
ArkCompiler
高級語言調試調優:
- 熱重載性能優化,支持多hap等場景。
- 支持多實例調優。
高級語言并發增強:
- TaskPool支持任務中斷和取消,支持定義任務組(TaskGroup),支持對任務的狀態和調度信息進行打點,支持超長等待的任務進行識別和恢復。
- TaskPool支持優先級設置及自動擴縮容算法。
高級語言優化編譯:
- 正式定義ArkTS語法規則并新增ArkTS語法檢查,在使用DevEco Studio進行代碼編譯時會對不符合ArkTS語法規則的代碼進行告警。
- AOT優化編譯支持端側閑時編譯,增強編譯優化進一步提升性能。
- PGO支持采集運行期的類型和函數熱點信息,支持AOT優化編譯JS代碼,提升動態JS代碼的運行性能。
高級語言運行時其它功能:
- 支持動態import加載NAPI庫。
- NAPI buffer、object、arraybuffer、object type接口功能補齊。
編譯工具鏈更新:
- clang/llvm工具鏈升級到15.0.4版本。
- libc版本升級到1.2.3版本,libc庫接口性能優化。
- sigaction函數提供sigchain功能。
分布式數據管理
- DataShare客戶端提供按URI前綴訂閱DataShareExtension數據變化的能力,被訂閱的URI前綴下任何DataShareExtension數據發生變化都會通知DataShare客戶端。
- 新增統一數據管理框架(Unified Data Management Framework, UDMF),支持數據標準化模型、設備內數據拖拽、UDMF數據存儲適配、權限管理、生命周期管理。UDMF框架下支持應用的跨設備拖拽,在此過程中允許對分布式目錄中的文件臨時授權。
- 提供RDBstore NDK接口 :包含增/刪/改/查/事務、數據加密、數據分級保護、備份/恢復能力。
- Key-Value和分布式數據對象支持根據數據量自動選擇數據同步的通道。系統會根據數據量大小自動選擇藍牙通道或基于Wi-Fi的P2P通道進行數據的同步。
- 支持系統應用通過數據管理服務代理靜默訪問其他系統應用的DataShareExtension數據,即不拉起DataShareExtension所在的應用即可訪問應用DataShareExtension的數據。
分布式軟總線
- 支持對基于軟總線連接的link信息進行管理。
- 支持會話級的傳輸能力協商,可通過協商確定設備間傳輸的能力。
分布式硬件
- 分布式音頻支持揚聲器(speaker),麥克風(mic)的資源池化管理,可以在native系統服務中跨設備使用遠端設備的揚聲器和麥克風,并支持控制遠端設備的揚聲器音量。
- 分布式輸入支持鍵盤,鼠標,觸摸板的資源池化管理,可以在系統應用中觸發跨設備的鍵盤、鼠標和觸摸板的使用。
文件管理
- 支持文件分類視圖管理能力,圖庫等應用以相冊方式管理媒體文件(圖片、視頻無需關注具體存儲位置),相冊內添加、移除文件等功能不涉及具體的File IO行為。支持三方應用通過PhotoAccessHelper接口獲取相冊列表,訪問相冊內圖片、視頻等文件。
- 提供增強的FileIO訪問能力,支持randomAccessFile、moveDir、copyDir能力。
- 提供基于URI的文件臨時授權訪問及取消授權能力,支持文件的跨應用本地授權或跨設備授權。
- 支持公共圖片文件在設備端和云端進行同步(設備登錄的帳號需開通云端服務),支持通過picker選擇云端的圖片。
- 支持應用定制備份恢復的目錄。
- 支持應用監聽沙箱內的文件變化。
圖形顯示及窗口
圖形
穩定流暢:
- 對統一渲染模式進行了性能優化,包含基于共享內存的IPC性能優化、基于遮擋剔除和緩存等技術的渲染性能優化、基于硬件合成器能力的能效提升等。
- 圖形處理依賴的渲染庫升級至Skia 0310新版本,提升了渲染性能。
極致動效:
- 支持組件自繪制內容的屬性動畫。支持組件設置出現和消失的轉場動畫。
- 支持取色能力,支持漸變模糊,支持邊緣像素擴展,支持漸亮效果,支持多種模糊材質能力。
圖片能力增強:
- 圖片編解碼能力增強:支持SVG格式圖片解碼,ico格式圖片解碼,GIF增量解碼,jpeg_IDCT縮放解碼,png圖片編碼,圖片exif信息拓展。
- 圖片接口能力增強:支持Pixelmap JS側的序列化反序列化,提供ImageReceiver和圖片解碼NDK接口。
窗口
- 支持監聽窗口的獲焦狀態,可以監聽單個窗口的獲焦、失焦和顯示隱藏狀態。
- 支持應用將子窗口z軸順序調整到當前應用窗口中的頂層。
- 支持查詢屏幕的顯示模式(鏡像、擴展),提供停止鏡像和停止擴展API。
- 優化了display模塊的參數值獲取方式,從原先軟件方式優化為從硬件直接獲取真實值。
- 支持通過窗口設置將屏幕亮度恢復默認值。
- 重構沉浸式實現方式,優化應用打開、退出、跳轉下的動畫效果。
媒體
音頻
- 支持通過Native接口(OHAudio)進行音頻播放和錄制。對于音頻錄制和播放的時延比較敏感的場景,使用Native接口可實現更低的時延。
- 支持查詢或監聽當前優先級最高的播放設備。
- 支持鬧鐘音量的獨立調整。
- 支持通過物理按鍵設置靜音。
- 支持音頻焦點:應用播放音頻時無需手動申請焦點,系統會在后臺自動申請焦點,并自動執行焦點策略(如暫停、淡出、淡出恢復等);應用僅需要注冊焦點事件監聽函數,以接收焦點事件并更新狀態,如暫停時停止進度條。支持短音播放。
- 支持音效模式:應用可查詢音頻輸出的音效模式,切換或關閉音效模式。
- 支持系統內錄音能力:可根據音頻場景屬性篩選,錄制系統內播放的音頻數據,支持對錄音設備進行查詢。
- 音頻設備能力增強:支持獲取音頻設備顯示名,播放對象詳細信息內可獲取當前播放輸出歸屬的設備名。支持對藍牙連接的多個可用于音頻播放的設備進行查詢并選擇音頻播放的設備。支持標準USB協議的音頻外設。
播控框架
- 支持媒體提供方和控制方之間傳遞自定義媒體信息,應用可擴展媒體內容展示方式,如媒體控制方可要求媒體提供方按特殊形式顯示歌曲歌詞。
- 支持媒體播放列表的框架能力,媒體提供方提供播放列表內容,媒體控制方獲取播放列表內容并可以選擇任一媒體內容進行播放。
- 支持播放歷史記錄的框架能力,媒體會話框架提供查詢歷史播放應用的列表,列表項按播放先后順序排序(包含當前播放的和已退出的應用)。
- 提供自定義媒體事件的傳輸通道,如歌詞內容的傳輸通道,媒體提供方提供歌詞內容,媒體控制方獲取歌詞內容。
- 提供自定義的媒體控制命令的傳輸通道,媒體控制方可以利用該自定義命令傳輸通道向媒體提供方發送自定義控制命令,如媒體控制方要求媒體提供方顯示彈幕信息。
媒體播放
- 支持基于HLS協議的網絡直播功能以及基于datasource的流式播放功能。
- 支持基于HDI的H.265視頻硬解播放能力。
- 支持播放音頻屬性設置,用戶在使用播放器的時候可以選擇輸出聲音的類型。
- 支持視頻自帶的旋轉播放功能。
- 支持音效參數配置,可以在音頻框架支持音效的能力基礎上進一步配置音效。
相機
- 支持前置預覽鏡像能力,默認情況下,前置預覽畫面呈鏡像狀態。
- 支持分布式攝像頭查詢該攝像頭的主設備屬性,包括設備名稱和設備類型。
- 支持更精細化的分辨率查詢,可以按照預覽、拍照、錄像用途查詢支持的尺寸、格式和幀率信息。
- 相機框架提供橫向歸一化坐標系[0, 0, 1, 1],所有與坐標相關的操作都基于這套坐標系完成。
- 不同相機應用使用同一個攝像頭場景下,相機框架具備優先級管控和互斥策略。
音視頻編解碼
- 支持獲取系統的音視頻編解碼,可以調用本模塊的Native API接口,查詢系統編解碼能力的支持情況。
- 支持音視頻封裝,可以調用本模塊的Native API接口,完成音視頻封裝,即將音頻、視頻等編碼后的媒體數據,按一定的格式存儲到文件里。
- 支持音視頻解封裝,可以調用本模塊的Native API接口,完成音視頻解封裝,即從比特流數據中取出音頻、視頻等媒體幀數據。
事件通知
- 支持應用設置靜態事件訂閱的開關。
- 支持系統應用刪除已發布的粘性事件。
- 支持應用設置代表通知數量的數字角標。
- 支持將通知設置為不可移除。
- 支持選定通知并批量刪除通知。
- 應用內事件處理模塊支持取消已按條件指定訂閱的回調。
通信與連接
- 支持NFC eSE卡模擬能力。
- 支持Wi-Fi連接AP時使用隨機MAC。
- 支持Wi-Fi通過靜態IP連接AP。
系統服務管理
- 支持系統服務按需啟動機制,例如外部調用、事件觸發,同時支持在設備空閑時自動退出系統服務。
- 系統服務配置格式優化,使用JSON格式替代XML格式。
電源
- 增強系統電量等級查詢及上報能力,支持電量等級的裁剪和定制。
- 支持有線和無線充電類型上報,充電類型包括普通充電、快速充電和超級快速充電。
- 增強運行鎖的管控機制,明確系統電源狀態和等級。
- 提供喚醒源設置能力,支持通過電源鍵、鼠標、鍵盤、觸控板、屏幕、手寫筆、皮套等方式喚醒設備。
- 提供休眠源設置能力,支持通過電源鍵、皮套、及超時自動休眠等方式設置設備休眠。
- 提供電源管理、電池管理、顯示亮度管理、耗電統計及熱管理的開發指南。
- 新增系統接口,支持設置系統立即進入睡眠狀態。
多模輸入
- 支持將鍵盤輸入設備的原始事件映射為歸一化交互的意圖事件。
- 支持用戶根據個人習慣設置觸控板功能的個性化配置:
- 支持兩種觸發模式映射鼠標左鍵功能:按壓、輕點。
- 支持兩種觸發模式映射鼠標右鍵功能:點按左/右下角、雙指點按或輕點。
- 跟蹤速度:支持10檔速度調節。
- 支持兩種交互模式映射鼠標滾輪功能:內容隨手指移動方向、內容隨手指反向移動。
主題框架
- 鎖屏管理服務:支持鎖屏事件回調機制、支持靜態/動態壁紙、支持查詢鎖屏時的業務狀態。
- 壁紙管理服務:支持自定義壁紙、支持鎖屏/解鎖操作、支持重置壁紙。
上傳下載
新增接口,使用統一配置參數與接口完成上傳下載業務任務創建執行,完善業務流程。
- 支持任務信息持久化記錄,查詢方式靈活多樣,任務信息更加全面,支持按過濾條件查詢任務信息。
- 增強安全隱私保護,增加系統管理接口權限。
- 支持文件覆蓋下載、分片上傳下載、自定義token任務創建。
- 支持服務按需啟停,應用調用相關接口時啟動,任務空閑時自動退出。
時間時區
- 獲取系統時間、系統啟動時間提供同步接口。獲取到的時間更精準,且提供較好的開發者體驗。
- 獲取日期接口廢棄,由ArkTS公共庫new Date()接口替代。
輸入法
新增同步接口,用于獲取編輯框信息。
網絡管理
- 提供IPv6基礎能力,包括DNS解析、應用通過http/https/socket聯網,蜂窩/Wi-Fi/有線網絡下均可支持IPv4/IPv6雙棧接入。
- 新增同步接口,針對@ohos.net.connection模塊的高頻接口,在原有異步接口基礎上新增了對應的同步接口。
打印
提供打印服務功能,應用可以通過print接口觸發打印業務。打印服務提供了系統默認的打印預覽界面和任務管理界面,可以管理網絡打印機設備連接。
安全
加解密算法庫框架
- 提供DSA數字簽名算法能力。
- 提供DSA、ECC、RSA密鑰解析和密鑰參數的獲取能力。
- 提供安全隨機數生成算法類型的獲取能力。
- 提供SM4密鑰的隨機生成與轉換,以及加密解密能力。
- 提供SM3密鑰的HMAC和HASH的能力。
- 提供SM2密鑰的隨機生成與轉換、簽名及驗簽、以及加密解密能力。
密鑰管理
- 基于GID派生芯片級密鑰的能力。
- 支持國密密鑰的安全導入。
- 支持二次身份認證的細粒度訪問控制。
- 密鑰管理簽名支持簽名NO HASH模式。
- 密鑰管理算法支持運算時指定密鑰參數。
- 支持HUKS密鑰加密保護。
- 支持KeyAttestation公鑰證書中增加對密鑰所屬業務身份字段。
- 支持標準HDI南向接口。
設備互信認證
支持在以下兩種場景的設備間互信認證流程中生成假名,支持識別及標識設備的假名化名稱。
- 對同帳號登錄的多個設備進行互信認證。
- 對非同帳號的點對點互聯的兩個設備進行互信認證。
安全基礎能力
支持小型設備查詢其它設備的設備安全等級信息。
證書管理
支持外部指定RSA密鑰簽名摘要及填充簽名和驗簽能力。
程序訪問控制
- 支持拉起應用粒度的權限管理界面。
- 支持對系統應用的所屬身份進行校驗。
- 優化權限管理的菜單呈現,拆分媒體和文件的權限組,相應權限的授權粒度更加精細化。
帳號
- 支持帳號授權能力擴展和三方應用使用帳號授權能力。
- 支持域帳號插件管理、域帳號管理、域帳號認證能力。
用戶IAM
- 提供統一身份認證控件,完善用戶身份認證能力,方便系統開發者調用身份認證能力并且生態體驗統一。
- 統一身份認證控件提供了系統默認的用戶身份認證界面,選擇使用帶控件的接口getUserAuthInstance, AuthParam指定認證參數,WidgetParam指定控件顯示參數。為確保用戶在系統上有統一的身份認證體驗,建議開發者使用API version 10提供的新用戶身份認證接口。
WebView
- W3C能力補充完善:補充Web camera能力,以及bindContextMenu、Select、date類型input等H5標簽能力。
- 支持多渲染進程的進程拆分。
- 支持文字、圖片基礎拖拽能力。
- 支持WebRTC的視頻會議能力(不含攝像頭共享)。
- 支持渲染進程獨立SELinux標簽,增強安全基礎能力。
- 支持識別Web組件渲染進程、顯示線程和場景信息,并通知系統資源調度進行CPU管控。
內核
- 支持HCK內核接口框架。
- 支持Linux內核config多級分層配置。
- 代碼執行權限管控能力增強,新增了以下能力:
- 支持安全內存機制。
- 支持不同場景的代碼執行權限管控策略。
- 支持代碼執行權限管控的全生命周期管理能力。
- 支持解析可執行文件獲取代碼段信息。
- 支持代碼頁的完整性保護能力。
驅動
- 擴展設備驅動框架提供以下能力:
- 擴展設備驅動框架基于“驅動擴展Ability(DriverExtensionAbility)”的能力,構建應用態擴展驅動包的開發、部署、安裝、更新、卸載、運行能力,開放全流程生命周期管理能力。
- 支持三方設備廠商開發的非標準協議的可插拔USB設備擴展驅動包,正常安裝到OpenHarmony系統。插入USB設備后,能正常識別USB設備并與擴展驅動包匹配。
- 支持三方應用通過擴展外部設備管理框架查詢并綁定USB設備擴展驅動包,完成對擴展驅動包定制功能的操作。
- 相機驅動提供以下能力:
- 提供USB相機熱插拔識別能力,支持開機啟動檢查識別和啟動后熱插拔識別。
- 支持USB相機的預覽、拍照、錄像能力,提供相機格式、分辨率查詢和配置能力。
- 編解碼驅動提供JPEG圖片硬件解碼加速能力,包括獲取硬件解碼信息,初始化/去初始化,解碼,申請/釋放buffer,提升用戶瀏覽圖片流暢度體驗。
- 傳感器驅動提供溫濕度傳感器設備驅動能力,支持小型設備溫濕度器件查詢,器件使能/去使能,數據查詢能力,豐富智能設備傳感器能力。
泛Sensor
- 支持對設備所支持的預置振動效果進行查詢,可通過EffectId查詢某個振動效果在設備上是否被支持。
- 新增振動全停接口,無需傳入對應的振動模式,可直接停止當前任意模式所設置的振動。
- 新增播放振動配置文件接口,支持從文件播放自定義觸覺的控制模式,播放執行結果依賴設備的振感器件能力。
測試
測試框架arkxtest
- 支持自動化腳本測試套嵌套定義能力,提升開發者腳本設計靈活性。
- 支持對象級斷言能力,提升測試腳本斷言能力。
- 支持模擬中文輸入、模擬鼠標操作、區域截圖的能力。
自測試執行框架developer_test
- 支持測試任務管理能力,開發者通過任務ID執行歷史任務,提升開發者自測試效率。
- 支持精準測試能力,支持子系統、部件、測試套、測試用例級測試用例篩選執行能力,提升開發者自測試效率。
- 支持對接執行hats用例,豐富執行用例范圍。
- 支持穩定性測試能力,支持測試用例亂序執行。
- 支持覆蓋率統計能力,支持開發者本地一鍵式生成代碼覆蓋率數據。
穩定性測試工具wukong
支持旋轉事件注入,增強注入能力。
性能調試開發工具SmartPerf Host
- 支持Frame timeline抓取和展示能力,開發者可以抓取和展示卡頓丟幀檢測的數據。
- 支持Scheduling analysis抓取和展示能力,開發者可以抓取和展示CPU調度分析,線程調度分析相關數據。
- 支持調用棧可視化和不同庫函數調用占比展示能力,開發者可以抓取并通過餅圖的方式展示調用棧及不同庫函數的占比
性能數據采集SmartPerf Device
- 支持應用冷熱啟、頁面內切換、滑動幀率測試能力,開發者可以測試應用冷熱啟動時延、頁面切換時延、滑動幀率測試能力。
- 支持端側測試數據對接云端看板能力,開發者可以將端側測試報告上傳云端查看或下載云端數據到本地。
配套關系
表1 版本軟件和工具配套關系
軟件 | 版本 | 備注 |
---|---|---|
OpenHarmony | 4.0 Release | NA |
Public SDK | Ohos_sdk_public 4.0.10.13 (API Version 10 Release) | 面向應用開發者提供,不包含需要使用系統權限的系統接口。通過DevEco Studio默認獲取的SDK為Public SDK。 |
HUAWEI DevEco Studio(可選) | 4.0 Release | OpenHarmony應用開發推薦使用。獲取方式:[Windows(64-bit)]SHA256校驗碼:2c88cf43e1ef6ba722aac31eccc8ef92f07a9b72e43a9c1df127017828a22137[Mac(X86)]SHA256校驗碼:25e491458eec50b4abddf5bed6aa85893801d70afbce02958f17bd904619405a[Mac(ARM)]SHA256校驗碼:284cb01f7b819e0da1d4fcacbbbbe8017ba220b5e3b9b1d5e4cc59ea30456acc |
HUAWEI DevEco Device Tool(可選) | 4.0 Release | 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 init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-4.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-v4.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-4.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-v4.0-Release --no-repo-verify repo sync -c repo forall -c 'git lfs pull'
從鏡像站點獲取
表2 獲取源碼路徑
版本源碼 | 版本信息 | 下載站點 | SHA256校驗碼 | 軟件包容量 |
---|---|---|---|---|
全量代碼(標準、輕量和小型系統) | 4.0 Release | [站點] | [SHA256校驗碼] | 27.6 GB |
Hi3861解決方案(二進制) | 4.0 Release | [站點] | [SHA256校驗碼] | 27.3 MB |
Hi3516解決方案-LiteOS(二進制) | 4.0 Release | [站點] | [SHA256校驗碼] | 302 MB |
Hi3516解決方案-Linux(二進制) | 4.0 Release | [站點] | [SHA256校驗碼] | 194 MB |
RK3568標準系統解決方案(二進制) | 4.0 Release | [站點] | [SHA256校驗碼] | 5.1 GB |
標準系統Public SDK包(Mac) | 4.0.10.13 | [站點] | [SHA256校驗碼] | 841 MB |
標準系統Public SDK包(Mac-M1) | 4.0.10.13 | [站點] | [SHA256校驗碼] | 797 MB |
標準系統Public SDK包(Windows/Linux) | 4.0.10.13 | [站點] | [SHA256校驗碼] | 2.0 GB |
更新說明
本版本在OpenHarmony 4.0 Beta2的基礎上有如下變更:
API變更
- OpenHarmony 4.0 Release相比4.0 Beta2的API差異請[點擊這里查看]
- OpenHarmony 4.0 Release相比3.2 Release的API差異請[點擊這里查看]
此外,從4.0 Beta2至今,有少量接口變更可能影響此前應用工程的兼容性或需要您關注,詳細的變更說明請[點擊這里查看]
芯片及開發板適配
芯片及開發板適配狀態請參考[SIG-Devboard]信息。
Samples
表3 新增Samples
特性 | 名稱 | 簡介 | 開發語言 |
---|---|---|---|
文件管理 | [選擇并查看文檔與媒體文件](APL等級需為system_basic) | 本示例展示了應用使用@ohos.file.picker、@ohos.multimedia.mediaLiary、@ohos.file.fs 等接口,實現了picker拉起文檔編輯保存、拉起系統相冊圖片查看、拉起視頻并播放的功能。 | ArkTS |
一次開發,多端部署 | [一多導航欄] | 本示例展示了導航組件在不同設備形態下的樣式。 在小型/輕量級設備上,以tabs形式展示,內容、導航為上下樣式布局,通過點擊底部tabs切換內容; 在標準設備上,以SideBarContainer形式展示,內容、導航為左右布局,通過點擊側邊一二級菜單進行內容切換。 本示例使用一次開發多端部署 中介紹的自適應布局能力和響應式布局能力進行多設備(或多窗口尺寸)適配,主要通過組件提供窗口斷點事件,保證應用在不同設備或不同窗口尺寸下可以正常顯示。 | ArkTS |
卡片 | [應用主動添加數據代理卡片到桌面](Full SDK) | 本示例主要展示了使用@ohos.app.form.formBindingData、@ohos.app.form.formProvider等接口,實現了在com.ohos.hag.famanager應用上,主動添加數據代理卡片到桌面的功能。 | ArkTS |
安全 | [安全控件類型的UI控件](Full SDK) | 本示例提供了安全控件類型的UI控件,支撐應用開發者集成安全控件做臨時授權場景,當用戶實際點擊了某種類型的安全控件時,會對應用進行相應的臨時授權,減少權限彈窗對用戶的干擾,同時提供更小的授權范圍。 | ArkTS |
請訪問[Samples]倉了解更多信息。
修復缺陷列表
表4 修復缺陷ISSUE列表
ISSUE單 | 問題描述 |
---|---|
I7BF3M | 長時間運行測試,launcher進程概率性出現appfreeze,原因是STRINGID:APPLICATION_BLOCK_INPUT卡在libeventhandler.z.so。 |
I7M51R | 低概率出現進程com.ohos.systemui下的線程render_service出現cppcrash。 |
I78C9W | 反復進入大圖瀏覽界面后返回,導致libace.z.so出現內存泄露。 |
I7NWF3 | 因兼容性問題,使用3.2.x版本的設備和4.0.x版本的設備通過Wi-Fi引導P2P連接時開啟會話失敗。 |
I7BOAO | 三方倉GLES3多個測試用例執行失敗。 |
遺留缺陷列表
表5 遺留缺陷列表
ISSUE | 問題描述 | 影響 | 計劃解決日期 |
---|---|---|---|
I80TOB | 進程com.ohos.settings(所屬應用:設置)有一定概率出現由于THREAD_BLOCK_6S卡在libbtframework.z.so而發生appfreeze。 | 概率問題,重新打開設置后可恢復正常,影響可控。 | 12月30日 |
I83D6I | 進入設置反復打開關閉藍牙,有一定概率會導致設置出現appfreeze。 | 概率問題,出現設置無響應后可通過重啟設備恢復正常,影響可控。 | 12月30日 |
I86YLD | 低概率出現進程com.ohos.contacts(所屬應用:聯系人)下的m.ohos.contacts線程導致libipc_core.z.so出現cppcrash。 | 小概率問題,重啟聯系人應用可恢復正常,影響可控。 | 12月30日 |
I88UKM | 進程ohos.samples.distributedmusicplayer(所屬應用:音樂播放器)下的ffrtwk/CPU-2-3線程低概率出現cppcrash,導致該現象的崩潰棧為libuv.so。 | 小概率問題,重啟音樂播放器可恢復正常,影響可控。 | 11月30日 |
I89CLG | 進程com.ohos.camera(所屬應用:相機)下的com.ohos.camera線程小概率會導致libcamera_napi.z.so出現cppcrash。 | 小概率問題,重啟相機可恢復正常,影響可控。 | 12月30日 |
I89F06 | 進程com.ohos.note(所屬應用:備忘錄)下的com.ohos.note線程低概率出現cppcrash,導致該現象的崩潰棧為libweb_engine.so。 | 小概率問題,重啟備忘錄可恢復正常,影響可控。 | 12月30日 |
I7SCU4 | 進程com.ohos.photos(所屬應用:相冊)有一定概率由于THREAD_BLOCK_6S卡在libark_jsruntime.so而發生appfreeze。 | 概率問題,重啟相冊可恢復正常,影響可控。 | 11月30日 |
I827LU | 進入設置反復打開關閉藍牙開關會出現內存泄漏,經測試一個小時泄露15MB。 | 開關一次藍牙系統內存泄露8.3KB,重啟設備后可恢復,影響可控。 對于需要使用OpenHarmony進行商業開發的伙伴,建議使用芯片或硬件自帶藍牙模塊的協議棧以規避此問題。 | 12月30日 |
I82V2W | 進入設置反復打開關閉藍牙開關出現內存泄漏,經測試“設置”一個小時內存漲幅到180M。 | 開關一次藍牙應用內存泄露0.2MB,重新打開“設置”卡恢復,影響可控。 對于需要使用OpenHarmony進行商業開發的伙伴,建議使用芯片或硬件自帶藍牙模塊的協議棧以規避此問題。 | 12月30日 |
I86M99 I88UV6 I88UVQ | 長時間穩定性壓力測試出現foundation內存泄漏,24小時泄露40MB。 | 重啟設備可恢復。影響可控。 | 12月30日 |
I7TZ3V等31個內核問題 | 內核btrfs_free_tree_block函數kernel_bug等31個內核問題。 | linux原生問題且當前linux社區無補丁,跟隨linux社區補丁節奏修復。不影響功能正常使用。 | 跟隨linux社區修復 |
I86CNJ等38個開源組件漏洞 | lj-linux-131204684-0577967 等38個開源組件漏洞。 | 分析解決中,跟隨社區漏洞管理流程SLA修復。不影響功能正常使用。 | 按漏洞SLA修復 |
I82NVZ | GPU驅動渲染出的圖像與標準不符問題。 | 該問題為RK3568驅動特有問題,非系統兼容性問題,不影響其他產品和硬件的兼容性認證。 | 12月30日 |
審核編輯 黃宇
-
接口
+關注
關注
33文章
8153瀏覽量
149670 -
HDI
+關注
關注
6文章
184瀏覽量
21180 -
鴻蒙
+關注
關注
56文章
2261瀏覽量
42433 -
OpenHarmony
+關注
關注
25文章
3517瀏覽量
15637
發布評論請先 登錄
相關推薦
評論