OpenHarmony v2.2 Beta2

Version Description

This release provides new and enhanced features for the mini system, small system, and standard system based on OpenHarmony 2.0 Canary.

The feature updates for the standard system are as follows:

  • Added the distributed remote startup feature.
  • Added several sample apps and the drag-and-drop feature for basic system applications.
  • Added three media services for the media system.

The feature updates for the mini system and small system are as follows:

  • Added Linux version building for the small system.
  • Enhanced the lightweight kernel capabilities, including enhancements to the file system and kernel debugging tool, and support for configurable kernel modules, third-party chip adaptation, and ARM9 architecture.
  • Enhanced the lightweight graphics capabilities, including support for multi-language text alignment, component outline display, dot-matrix fonts, and multiple chip platforms for the unified backend framework.
  • Enhanced the design for X (DFX) capabilities, including enhanced HiLog and HiEvent features, a lightweight tool to dump system information, and the maintenance and test framework upon system restart.
  • Enhanced the AI capabilities, including Linux kernel adaptation and support for shared memory-based data transmission by the AI engine.

Version Mapping

Table 1 Version mapping of software and tools

Software Version Remarks
OpenHarmony 2.2 Beta2 N/A
(Optional) HUAWEI DevEco Studio DevEco Studio 2.2 Beta1 Recommended for developing OpenHarmony apps
(Optional) HUAWEI DevEco Device Tool Deveco DeviceTool 2.2 Beta1 Recommended for developing OpenHarmony smart devices

Source Code Acquisition

Acquiring Source Code Using the repo Tool

Method 1 (recommended): Use the repo tool to download the source code over SSH. (You must have registered an SSH public key for access to Gitee.)

repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v2.2-Beta2 --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

Method 2: Use the repo tool to download the source code over HTTPS.

repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v2.2-Beta2 --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

Acquiring Source Code from Mirrors

Table 2 Mirrors for acquiring source code

Source Code Version Mirror SHA-256 Checksum
Full code (for mini, small, and standard systems) 2.2 Download Download
Standard system solution (binary) 2.2 Download Download
Hi3861 solution (binary) 2.2 Download Download
Hi3518 solution (binary) 2.2 Download Download
Hi3516 solution-LiteOS (binary) 2.2 Download Download
Hi3516 solution-Linux (binary) 2.2 Download Download
Release Notes 2.2 Download -

What's New

This release provides the following new and enhanced features based on OpenHarmony 2.0 Canary.

Table 3 New and enhanced features

Subsystem Standard System Mini and Small Systems
Distributed File Provided JS APIs in the system.file class for asynchronous file operations, including file read/write, directory access, and directory addition/deletion. NA
Driver Added the audio, camera, USB, motor, and Analog to Digital Converter (ADC) driver models. Enabled LiteOS-M to support the Hardware Driver Foundation (HDF).
Power Management Added the system power state machine, running lock, and sleep/wakeup features. - Added the APIs for querying the battery charging/discharging status and the battery level.
- Added the support for the low-power mode with unified APIs.
Update Added the feature of restoring factory settings. NA
Media - Added the audio service to provide basic audio control.
- Added the camera service to provide basic functions such as preview and photographing.
- Added the media service to support audio and video playback.
NA
JS UI Framework Added support for the hybrid use of both JS and C/C++ for JS API development. NA
Common Event and Notification Enabled applications to locally send and cancel a notification that includes multiple lines of text. NA
DSoftBus Added self-networking for DSoftBus. After a trusted device is connected to a LAN (either through Ethernet or Wi-Fi), the device can be automatically detected and connected to the DSoftBus. The device is not aware of this connection. NA
Distributed Data Management - Added distributed data management to support locally encrypted storage of distributed databases.
- Added support for lightweight preferences databases.
- Implemented data deletion from databases.
- Added unified functions to operate the Hardware Abstraction Layer (HAL) file system.
- Implemented atomic operations related to data storage.
- Implemented read/write of binary values.
System Apps Home screen:
- Optimized UX for the home screen setting page.
- Added support for icon dragging on the home screen.
Settings:
- Added WLAN settings.
SystemUI:
- Implemented the display of the signal icon of SIM cards.
Photos:
- Added the features of viewing, moving, copying, deleting, and renaming images and videos.
NA
Globalization - Optimized time and date formatting.
- Added support for time segment formatting.
- Added support for number formatting.
- Added custom data compilation.
- Added internationalization for the week, singular and plural forms, and numbers.
- Added the mechanism for parsing and loading build resources.
- Added the build resource backtracking mechanism.
Sample Apps - Added the distributed calculator feature, which allows the calculator on one device to start the calculator on another networked device to perform collaborative calculation and synchronize the calculation data in real time.
- Added the audio player app that supports audio playback on any networked devices.
NA
Distributed Device Management Added the device management system service that provides authentication and networking irrelevant to distributed device accounts. NA
DFX NA - Provided a tool to dump LiteOS kernel information.
- Implemented a maintenance and test framework for the LiteOS kernel upon restarting after a breakdown.
- Added number formatting.
- Enhanced HiLog.
- Enhanced HiEvent.
Kernel NA - Added support for the lightweight Linux version.
- Enhanced support for the proc file system.
- Added the mksh command interpreter.
- Enhanced file system maintenance and testing.
- Added support for configuration of LiteOS-A kernel modules.
- Enabled the LiteOS-A small system to adapt to third-party chips.
- Enabled LiteOS-M to support Mbed TLS compilation of third-party components.
- Enabled LiteOS-M to support Curl compilation of third-party components.
- Added support for the lightweight shell framework and common debugging commands.
- Enabled LiteOS-M to support the ARM9 architecture.
- Added support for the little file system (LittleFS) setup on the NOR flash.
- Enabled LiteOS-M to provide unified file system operation APIs for external systems.
- Added the Namecache, Vnode, and Lookup modules.
Graphics NA - Added support for input of A4, A8, LUT8, and TSC images.
- Added support for multi-language text alignment.
- Added component outline display for UIKit.
- Enabled the ScrollView or List component to display the swiping progress using an arc progress bar.
- Implemented animation for the switch, check box, and radio button.
- Enabled UIKit to support the decoupling of dot-matrix fonts from products.
- Provided a unified multi-backend framework to support multiple chip platforms.
- Enabled UIKit to support margin and padding.
- Implemented zoom and white layer animations for the round and capsule buttons.
Compilation and Building NA Added support for the general patch framework of open-source software.
Startup NA Added support for factory setting restoration and multi-language text alignment.
Distributed Scheduler NA Added support for the start of an ability on the rich device from a mini-system device.
AI NA - Added support for Linux kernel adaptation with related compilation options.
- Enabled shared memory-based data transmission.

API Updates

For details, see:

Resolved Issues

Table 4 Resolved issues

Issue No. Description
I3I31W ActsNFSTest.bin causes a kernel crash.
I3D49E The U-Boot path is incorrect.
I3D71U Driver subsystem] During repeated system reset, there is a high possibility that the system is suspended after successful hmac_main_init startup.
I3DGZW [Application Framework subsystem] After the Hi3516 development board enters screen saver mode, a blue screen is displayed upon a tap on the touchscreen.
I3DHIL [System] The remaining space of the Hi3518 development board is insufficient, causing a failure in executing a large number of ACTS test cases.
I3DU36 [Application Framework subsystem] The query command ipcamera bm does not take effect.
I3EALU [Multimedia subsystem] During the execution of the cameraActs test case, the camera configuration file cannot be found and the initialization fails.
I3EGUX [Reliability] When the KIdle process crashes once during repeated system reset, the system is suspended and cannot be started.
I3EH4E [Pipeline] There is a high probability that the system does not respond after the uname and reset commands are executed.
I3EQJA [File system] The cat /proc/mounts command does not take effect.
I3EQRC The system crashes when three concurrent test processes are run during disk file mapping delay testing.
I3HVL0 The Hi3861 development board compilation fails and the error message "[OHOS ERROR] Fatal error: invalid -march= option:rv32imac" is displayed.
I3TS1Y File-specific Vnode resources are exhausted in stress testing.
I3TXT8 Orphan processes cannot be reclaimed, and TCB resources are exhausted in stress testing.
I3UWXI The libwap.so file is prone to the following vulnerability: CVE-2021-30004, CVSS: 5.3, released on 2021-04-02.
I3SWY2 There is a high probability that the KProcess is suspended.
I3YJRO The compilation of configurable LiteOS-A kernel modules fails.
I3YNWM The enhanced file system maintenance and test feature is defective.
I3VEOG The bin directory does not contain the mksh and toybox commands, leading to a failure to test the toybox command set.