OpenHarmony 3.2 Beta2
Version Description
OpenHarmony 3.2 Beta2 provides the following enhancements over OpenHarmony 3.2 Beta1:
Enhanced basic capabilities for the standard system
Added the multi-hotspot distribution mechanism for the window.
Added the restart recovery mechanism for power management.
Added the stylus pressure and tilt in events, and added key input support for multimodal input.
Added the preset application pre-authorization mechanism and fingerprint enrolling/authentication/identification framework to the security domain.
Added selfie mirroring in recording mode, audio control and audio effect control, infrared device input, audio USB insertion/removal identification, and event reporting to the driver.
Enhanced application framework capabilities for the standard system
The ability allows addition of static and dynamic widgets, startup of abilities that are not locally installed, SA-initiated ability startup and access, singleton ability continuation, sandbox application opening during running management, and no display of system application abilities in the latest mission list.
Bundle management provides NDK interfaces for obtaining the bundle name and certificate fingerprint information of the current bundle, querying the pack information of a specified application, and aging and uninstalling atomic services.
Application development samples for the standard system
Added samples such as Gobang, QR code generation and parsing, widget usage, multimedia, short video, and facial recognition, helping developers quickly use basic capabilities of OpenHarmony.
Version Mapping
Table 1 Version mapping of software and tools
Software/Tool | Version | Remarks |
---|---|---|
OpenHarmony | 3.2 Beta2 | NA |
Public SDK | Ohos_sdk_public 3.2.5.5 (API Version 9 Beta2) Ohos_sdk_public 3.2.5.6 (API Version 9 Beta2) |
This toolkit is intended for application developers and does not contain system APIs that require system permissions. It is provided as standard in DevEco Studio. |
Full SDK | Ohos_sdk_full 3.2.5.5 (API Version 9 Beta2) Ohos_sdk_full 3.2.5.6 (API Version 9 Beta2) |
This toolkit is intended for original equipment manufacturers (OEMs) and contains system APIs that require system permissions. To use the full SDK, manually obtain it from the mirror and switch to it in DevEco Studio. For details, see Guide to Switching to Full SDK. |
(Optional) HUAWEI DevEco Studio | 3.0 Beta4 | This tool is recommended for developing OpenHarmony applications. |
(Optional) HUAWEI DevEco Device Tool | 3.0 Release | This tool is recommended for developing OpenHarmony smart devices. |
Source Code Acquisition
Prerequisites
-
Register your account with Gitee.
-
Register an SSH public key for access to Gitee.
-
Install the git client and git-lfs, and configure user information.
git config --global user.name "yourname" git config --global user.email "your-email-address" git config --global credential.helper store
-
Run the following commands to install the repo tool:
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo # If you do not have the permission, download the tool to another directory and configure it as an environment variable by running the chmod a+x /usr/local/bin/repo command. pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
Acquiring Source Code Using the repo Tool
Method 1 (recommended)
Use the repo tool to download the source code over SSH. (You must have an SSH public key for access to Gitee.)
-
Obtain the source code from the version branch. You can obtain the latest source code of the version branch, which includes the code that has been incorporated into the branch up until the time you run the following commands:
repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-3.2-Beta2 --no-repo-verify repo sync -c repo forall -c 'git lfs pull'
-
Obtain the source code from the version tag, which is the same as that released with the version.
repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v3.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.
-
Obtain the source code from the version branch. You can obtain the latest source code of the version branch, which includes the code that has been incorporated into the branch up until the time you run the following commands:
repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-3.2-Beta2 --no-repo-verify repo sync -c repo forall -c 'git lfs pull'
-
Obtain the source code from the version tag, which is the same as that released with the version.
repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v3.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 base (for mini, small, and standard systems) | 3.2 Beta2 | Download | Download |
Hi3861 mini system solution (binary) | 3.2 Beta2 | Download | Download |
Hi3516 mini system solution - LiteOS (binary) | 3.2 Beta2 | Download | Download |
Hi3516 mini system solution - Linux (binary) | 3.2 Beta2 | Download | Download |
RK3568 standard system solution (binary) | 3.2 Beta2 | Download | Download |
Full SDK package for the standard system (macOS) | 3.2.5.5 | Download | Download |
Full SDK package for the standard system (Windows/Linux) | 3.2.5.5 | Download | Download |
Public SDK package for the standard system (macOS) | 3.2.5.5 | Download | Download |
Public SDK package for the standard system (Windows/Linux) | 3.2.5.5 | Download | Download |
Full SDK package for the standard system (macOS) | 3.2.5.6 | Download | Download |
Full SDK package for the standard system (Windows/Linux) | 3.2.5.6 | Download | Download |
Public SDK package for the standard system (macOS) | 3.2.5.6 | Download | Download |
Public SDK package for the standard system (Windows/Linux) | 3.2.5.6 | Download | Download |
What's New
This version has the following updates to OpenHarmony 3.2 Beta1.
SDK Updates
From this version onwards, both the Public SDK and Full SDK are provided. The Public SDK is provided as standard in DevEco Studio.
If an application developed using the SDK of an earlier version calls system APIs, you must manually switch to the Full SDK by following the instructions provided in Guide to Switching to Full SDK after the version upgrade. This operation ensures successful build of your application project.
Feature Updates
Table 3 New and enhanced features
Subsystem | Standard System | Mini and Small Systems |
---|---|---|
Ability | - To support UI-free application development for IoT devices, the graphics and power modules are decoupled. - Basic capabilities such as DFX, mission management, and application thread model management are enhanced. The following requirements are involved: I57ZUI [New feature] UI-free application development for IoT devices - graphics module decoupling I57ZVC [New feature] UI-free application development for IoT devices - power module decoupling I5805B [Enhanced feature] AMS ANR optimization I581M3 [New feature] Application selection box I580JM [New feature] No display of abilities of system applications in the latest mission list I5FHNH [Enhanced feature] Passing the Context object of the stage model to the worker I58034 [Enhanced feature] Using JS looper of libuv I57ZZH [New feature] Providing APIs to create context for different HAP files |
NA |
Bundle management | The default application management capability is added, and basic capabilities such as crowdtesting applications and obtaining bundle fingerprint information are also provided. The following requirements are involved: I56WD7 [New feature] Querying the default application I56WDJ [New feature] Changing the default application I56WDR [New feature] Restoring the default system application I56WEK [New feature] Setting the default application by file type I59ZMR [New feature] Crowdtesting applications I5A7OV [New feature] Providing NDK interfaces to obtain the bundle name and certificate fingerprint information of the current bundle |
NA |
Power subsystem | Resource management and logs are added for thermal management. Power consumption statistics is now available for more modules. The following requirements are involved: I5AOM8 [New feature] Action hub I5DC5E [Enhanced feature] Camera power consumption statistics I5DC7M [Enhanced feature] Audio power consumption statistics I5DC8L [Enhanced feature] Timer power consumption DFX I5DC9H [Enhanced feature] Distributed Scheduler power consumption DFX I5DOP4 [New feature] Thermal maintenance and debugging DFX I5DONL [New feature] Charging resource management framework I5DOLA [New feature] Adaptation to the SOC resource management framework |
NA |
System Ability Management Subsystem (SAMGR) | - The basic distributed capabilities are continuously built. - The stability and security of system service processes are hardened, and the process memory is optimized. The following requirements are involved: I5FLTY [New feature] Component collaboration relationship management I5DP1O [New feature] System events, SA dump, and tracing provided by DMS I5CEMN [New feature] Installation-free feature of startAbilityForResult I5BAP0 [New Feature] Cross-device installation-free feature of startAbility I5B2PK [New feature] Adaptation of cross-device migration to persistent storage of distributed objects I59XYB [New feature] Group verification I592I5 [New feature] Memory baseline of the distributedsche process I5E4KV [New feature] System events, SA dump, and tracing provided by SAMGR |
NA |
Common event and notification subsystem | - The tool supports multi-user scenarios. - The basic capabilities of the common event and notification subsystems are enhanced. The following requirements are involved: I582V2 [New specifications] Sending events in point-to-point mode I582XB [New specifications] Multi-user support of the tool I582UL [Enhanced feature] Enhancement of distributed notification synchronization I582QQ [New specifications] Carrying application icon badges in notifications I582XB [New specifications] Multi-user support of the tool I582SD [DFX] [Enhanced feature] Enhanced notification DFX capability I582ST [New specifications] Configuration of notification clearance events I582TF [Enhanced feature] Enhancement of notification slot setting and query I58418 [New specifications] SELinux policy configuration I582Y4 [DFX dotting] System events, SA dump, and tracing |
NA |
Distributed hardware subsystem | DeviceManager supports requesting and importing of credential parameters of the same account. I5IUUS [DFX dotting] System events, SA dump, and tracing I5IUVN [New feature] Requesting and importing credential parameters of the same account |
NA |
User IAM subsystem | - The basic capabilities of user authentication are continuously enhanced. - The user IAM framework now supports fingerprint enrolling, authentication, identification, and deletion. I5EPCD [Framework] Fingerprint enrolling for specified users I5EPCM [Framework] Fingerprint authentication and identification for specified users I5EPCU [Framework] Fingerprint deletion for specified users |
NA |
Build subsystem | - The Python and Gn versions are updated. - System components can be independently built. - The module dependency and compiler cache (ccache) are optimized, and a compilation function switch is provided. The following requirements are involved: I5IZC2 Independent build of system components and chip components I5IZD9 [Integration optimization] Optimized module dependency I5IZI0 [Integration optimization] Compilation function switch I5IZH2 [Integration optimization] Optimized ccache |
NA |
Multimode input subsystem | - JS APIs are provided for obtaining input device information. - The stylus can be used as an input device. - An event can be reported to indicate that a key is repeatedly pressed. - SELinux is now supported. The following requirements are involved: I530UN [New feature] Multi-hotspot distribution of the window I530UT [New feature] JS API Mock I530VY [New feature] Using JS APIs to obtain basic information about the stylus input device I530W0 [New feature] Using JS APIs to obtain extended information about the mouse input device I530WA [New feature] Using JS APIs to obtain extended information about the touchpad input device I530WD [New feature] Using JS APIs to obtain extended information about the touchscreen input device I530WH [New feature] Receiving and distributing key input events of the Linux stylus input I530WI [New Feature] Carrying the pressure of the Linux stylus input in events I530WJ [New Feature] Carrying the tilt of the Linux stylus input in events I530WK [New Feature] Providing the pressure attribute of the touch point I530WM [New Feature] Providing the touch area attribute of the touch point I530WO [New feature] Providing the tool area attribute of the touch point I530WP [New feature] Providing the tool type attribute of the touch point I530X8 [New feature] Setting of key mapping rules in the configuration file I530XH [New feature] Setting of key mapping rules for system keys in the configuration file I530XJ [New feature] Automatic repeat of system keys I530XK [New feature] Keyboard type identification I530XL [New feature] Key capability identification I530XM [New feature] Setting of key mapping rules for the keyboard in the configuration file I530XN [New feature] Automatic repeat of keys on the keyboard I530XT [New feature] Using C++ APIs to adjust the mouse cursor position based on relative coordinates I530XX [New feature] Providing the pressure attribute of the touch point I530XZ [New feature] Providing the touch area attribute of the touch point I530Y1 [New feature] Providing the tool area attribute of the touch point I530Y2 [New feature] Providing the tool type attribute of the touch point I530Y7 [New specifications] Support for 64-bit I530YB [DFX dotting] System events, SA dump, and tracing I530YF [New specifications] [Input] SELinux policy configuration I5HMBS [Input] Adaptive keyboard and mouse layout adaptation |
NA |
Pan-sensor subsystem | - Data of more types of sensors can be reported. - SELinux is supported. The following requirements are involved: I53SFI [DFX dotting] System events, SA dump, and tracing I537CB [New specifications] Continuous integration of pan-sensor capabilities - rotation vector sensor I537AN [New specifications] Continuous integration of pan-sensor capabilities - gravity sensor I5379T [New specifications] Continuous integration of pan-sensor capabilities - geomagnetic sensor I5379C [New specifications] Continuous integration of pan-sensor capabilities - orientation sensor I53784 [New specifications] Continuous integration of pan-sensor capabilities - ambient light sensor I53SFS [New specifications] SELinux policy configuration |
NA |
Distributed data management subsystem | Multiple data types are supported by DataShare. The following requirement is involved: I5EHGF [DataShare] Support for multiple data types. |
NA |
Web subsystem | - JS-related interaction capabilities are supported. - The network, keyboard, mouse, web storage, and SELinux policies are supported. The following requirements are involved: I5DM1E [New specifications] JS window management of web components I5DNG2 [New specifications] Full set of JS hit-testing interfaces and APIs for obtaining the default user agent I5EK53 [New specifications] [Web components] HTTP verification management I5EGBB [New specifications] [Web components] SELinux policy configuration I5EBG1 [New specifications] Adaptation to the W3C network information APIs I5EVEC [New specifications] Web kernel connection to peripherals such as the mouse and keyboard I5FF2L [New specifications] [Web components] Web storage |
NA |
Driver subsystem | - Dynamic loading of kernel-mode drivers and DFX capabilities are supported. - Codec 2.0 interfaces and codec driver models are provided. - The driver capabilities of the camera, display, audio, sensor, and WLAN modules are enhanced. The following requirements are involved: I536FN [New feature] HDI passthrough I5DJE5 [Enhanced feature] Compatibility with Linux uevent reporting, and enhancement to device plug-and-play I550OL [New feature] DFX tracing and locating I544XP [New feature] SELinux permission check for the HDF service I528DG [New feature] Implementation of Codec 2.0 interfaces I50I6S [New feature] Unified audio HDIs for the IPC mode and direct calling mode I5A6H6 [Enhanced feature] Enhanced display management, and support for multi-screen display I5B0C5 [New feature] Support for the metadata streams of the camera I5B0BR [New feature] Selfie mirroring in recording mode I5AJW1 [New feature] Linux libALSA audio interface compatibility I56V2N [New feature] Definition and development of interfaces related to the HDF WLAN DAL HDI power mode I5F411 [Enhanced feature] Enhanced vibrator effect capability |
NA |
USB subsystem | - Broadcast messages are provided for USB service events. - The SELinux security policy is enhanced. The following requirements are involved: I59MYK [New feature] Broadcast messages for USB service events I5AR8N [New specifications] SELinux policy configuration |
NA |
Kernel subsystem | - Refined memory management is supported. - The adjustment mechanism is added for associated services. The following requirements are involved: I58LOD [New feature] Adjustment mechanism of associated services I54Y5J [New feature] memtrack memory usage and adj query interface by process I56B3Q [New feature] OnMemoryLevel I5B694 [New feature] Refined memory management I59O8H [New feature] Purgeable memory I5CXOK [New feature] Hyperhold for reliability improvement |
NA |
Chip and Development Board Adaptation
For details about the adaptation status, see SIG_DevBoard.
Samples
Table 4 New samples
Subsystem | Name | Introduction | Programming Language |
---|---|---|---|
Ability | MissionManager | This sample calls APIs related to the mission manager to lock, unlock, and clear missions, and switch them to the foreground. | ArkTS |
Network management | AirQuality | This sample implements a simple air quality app using JS. The app displays air quality information using line wrapping and historical data in a bar chart. | ArkTS |
ArkUI | TransitionAnimation | This sample shows how to implement page transition, component transition, and transition of shared elements. | ArkTS |
Application package management | ZipLib | This sample demonstrates the use of @ohos.zlib by constructing the compression and decompression scenarios. | ArkTS |
Engineering capabilities | Npm | This sample shows how npm references third-party JS class libraries (mathjs and dayjs) and local libraries. | ArkTS |
Data management | DistributedMusicPlayer | In this sample, fileIo is used to obtain an audio file; AudioPlayer is used to play music, pause the playback, and play the next or previous song; DeviceManager is used to display the distributed device list and hop music playback across devices. | ArkTS |
ArkUI | PatternLock | This sample shows how to use the <PatternLock> component to implement password setting, verification, and resetting. | ArkTS |
Security | UserAuth | This sample shows how to implement facial authentication. | ArkTS |
Security | Cipher | This sample shows how to use cipher algorithms, including Rivest-Shamir-Adleman (RSA) and Advanced Encryption Standard (AES). | ArkTS |
Graphics | Screen | This sample shows how to use APIs to listen for screen quantity changes, create and destroy virtual screens, and read and display screen attributes. | ArkTS |
ArkUI | Search | This sample shows how to use the <Search> component to implement a search page. | ArkTS |
Device management | USBManager | This sample shows how to use USB device management, including listening for USB device insertion and removal events and display of USB device information. | ArkTS |
Data management | DistributedDataGobang | This sample shows Gobang, a popular game played with black and white stones on a go board, developed using the distributed data management function. | ArkTS |
Multimedia | Image | This sample provides an Image Processing app, using which you can read images from the local device, obtain image information, and rotate images. | ArkTS |
Security | AbilityAccessCtrl | This sample shows how @ohos.abilityAccessCtrl works to implement application permission control. | ArkTS |
Network management | WebSocket | This sample shows how to use WebSocket, including the connection and disconnection between the client and the server, and the receiving and sending of client data. | ArkTS |
Connectivity | Bluetooth | Bluetooth is a short-range wireless technology used to implement communication between fixed and mobile devices over low-cost short-distance wireless connections. This sample describes how to discover, pair, and unpair Bluetooth devices. | ArkTS |
Multimedia | GamePuzzle | This puzzle game app is developed based on the <Grid> component. It uses the Image and MediaLibrary APIs to obtain and crop images. |
ArkTS |
Network management | UploadDownload | This sample uses the upload and download APIs to implement file storage. | ArkTS |
Device management | Location | This sample uses the orientation sensor and GPS to obtain the current location information. | ArkTS |
Telephony | Observer | This sample demonstrates how to use observer APIs to subscribe to network status, signal status, call status, cellular data, and SIM card status changes. | ArkTS |
ArkUI | AdaptiveCapabilities | This sample shows multi-device adaptation in ArkTS, including resource qualifiers, atomic layouts, and responsive layouts. | ArkTS |
ArkUI | JsAdaptiveCapabilities | This sample shows multi-device adaptation in JS, including resource qualifiers, atomic layouts, and responsive layouts. | JS |
For more information, visit Samples.
Resolved Issues
Table 5 Resolved issues
Issue No. | Description |
---|---|
I4Z3G9 | [RK3568] Screen flickering occurs when the secondary window is opened in the immersive primary window. |
I59M4Q | There is a low probability of device disconnection when hdc_std of API version 9 is used. |
I54D32 | [RK3568] [Mandatory] A black screen is displayed when the camera has been recording videos for multiple consecutive times. |
Known Issues
Table 6 Known issues
ISSUE | Description | Impact | To Be Resolved By |
---|---|---|---|
I5I4GJ | There is a possibility that the RK3568 device is disconnected from DevEco Studio. | When DevEco Studio is used for application debugging, there is a possibility (1/25) that the device is disconnected. The device can be reconnected, and therefore the impact is controllable. | August 15, 2022 |
I5HTGF | The photo taken is rotated by 90 degrees clockwise when compared with the preview image. | User experience is affected. | August 15, 2022 |
I5FUNB | There are no patches for the known Linux kernel vulnerabilities yet. CVE-2022-1462 |
No patch is available in the kernel community for the kernel CVE vulnerabilities. After the patch is released in the community, it will be synchronized to OpenHarmony 3.2 Beta2. | Subject to the patch release time of the kernel community |
I5FUO1 | There are no patches for the known Linux kernel vulnerabilities yet. CVE-2022-21127 |
No patch is available in the kernel community for the kernel CVE vulnerabilities. After the patch is released in the community, it will be synchronized to OpenHarmony 3.2 Beta2. | Subject to the patch release time of the kernel community |