OpenHarmony 3.2 Beta1
Version Description
OpenHarmony 3.2 Beta1 provides the following enhancements over OpenHarmony 3.1 Release:
Enhanced basic capabilities for the mini system
The inter-process communication (IPC) mechanism is normalized for LiteOS and Linux running on the mini system.
Enhanced basic capabilities for the standard system
ARM64 build is supported.
The graphics system supports secure screen capturing and screen recording. It also supports application window display over other applications.
The window manager subsystem supports quick switching to the home screen and restoration of application windows. It also supports screen wakeup, screen always-on, and screen brightness adjustment from the window, as well as security layer.
Ark VMs support multi-instance debugging, conditional breakpoints, and watch expressions.
The multimodal input subsystem supports hot swap listening of the remote control, mouse, and keyboard.
The security subsystem supports mutual authentication between OpenHarmony devices using the same account.
Enhanced distributed capabilities for the standard system
System service management is enhanced to support group verification.
Enhanced application framework capabilities for the standard system
ArkUI allows an ability to be displayed in other applications as a component. The <Column> and <SideBarContainer> components are enhanced to support automatic hiding.
Bundle management supports installation, uninstall, and query of sandbox applications. The unpacking tool supports the stage model.
The stage model supports the Worker mechanism. DFX features, such as Application Not Response (ANR) and suspension detection of an application's main thread, are added.
Enhanced application capabilities for the standard system
The Gallery application supports basic dynamic effects, image editing and saving, and OEM customization.
Application development samples for the standard system
Multiple sample apps, including GPU drawing, minesweeper game, and 2048 game, are provided to help developers quickly use the basic capabilities of OpenHarmony.
Version Mapping
Table 1 Version mapping of software and tools
Software/Tool | Version | Remarks |
---|---|---|
OpenHarmony | 3.2 Beta1 | NA |
SDK | Ohos_sdk_full 3.2.2.5 (API Version 9 Beta1) | NA |
(Optional) HUAWEI DevEco Studio | 3.0 Beta3 for OpenHarmony | Recommended for developing OpenHarmony applications |
(Optional) HUAWEI DevEco Device Tool | 3.0 Release | Recommended for developing OpenHarmony 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-Beta1 --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-Beta1 --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-Beta1 --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-Beta1 --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 Beta1 | Download | Download |
RK3568 standard system solution (binary) | 3.2 Beta1 | Download | Download |
Hi3861 mini system solution (binary) | 3.2 Beta1 | Download | Download |
Hi3516 mini system solution - LiteOS (binary) | 3.2 Beta1 | Download | Download |
Hi3516 mini system solution - Linux (binary) | 3.2 Beta1 | Download | Download |
Standard system SDK package (macOS) | 3.2 Beta1 | Download | Download |
Standard system SDK package (Windows/Linux) | 3.2 Beta1 | Download | Download |
What's New
This version has the following updates to OpenHarmony 3.1 Release.
Feature Updates
Table 3 New and enhanced features
Subsystem | Standard System | Mini and Small Systems |
---|---|---|
Common | ARM64 build is supported. | The same set of IPC APIs is provided for the mini and small systems. |
Resource scheduling | Statistics on widget usage can be collected. The following requirements are involved: I531ST Deleting the usage records of a widget once it is uninstalled I531SU Querying and obtaining widget usage records I531SV Recording the widget usage count and usage duration |
NA |
Multimodal input | Listening for hot swap events of the remote control, mouse, and keyboard is supported The following requirements are involved: I530U7 Third-party JSON version upgrade I530UH Startup optimization I530UU Tailoring the mouse cursor display I530UL Non-touchable window I530W5 Using JS APIs to listen for hot swap events of the remote control I530W9 Using JS APIs to listen for hot swap events of the mouse I530WB Using JS APIs to query extended information about the touchpad I530W9 Using JS APIs to listen for hot swap events of the keyboard I530UW Tailoring the configuration of combined keys |
NA |
System service management | Group verification is supported. The following requirements are involved: I59XYB Adding group verification I53NZQ Processing the installation status and version number of a remote application I568AO Reporting the association between distributed components by DMS I58ZSB Collecting OS type information |
NA |
Bundle management | - Installation, uninstall, and query of sandbox applications are supported. - The unpacking tool supports the stage model, and the capability of the packing tool is enhanced. The following requirements are involved: I524WG Specifying whether data of system applications can be cleared I524WP Querying whether a specified application is installed I524UF Supporting the update of system features (with entry installed) I524VP Supporting ability priority for implicit query I56W2U Supporting the BackupExtension type I56W68 Packing pack.info into the HAP file I56W6W Packing the old and new HAP files into the same APP Pack I56W4O Extracting the rpcid file using the unpacking tool I56W59 Parsing the stage model package using the unpacking tool I56W7H Sending a scanning complete event after BMS scanning is complete I56WIG Installation of sandbox applications I56WIS Uninstall of sandbox applications I56WJ7 Sandbox application information query |
NA |
Basic communications | Access from human-machine interface devices is supported. The following requirement is involved: I58ZUA Access from human-machine interface devices, such as Bluetooth keyboard, mouse, and game controller |
NA |
Ability | - The FA model supports ability-level screen orientation query and setting, lock screen display, and screen-on during ability startup. - More DFX features are added, including ANR and suspension detection of an application's main thread. - The stage model supports the Worker mechanism. The following requirements are involved: I58ZRH Ability-level screen orientation query and setting in the FA model I58ZRI Lock screen display for an ability in the FA model I58ZRJ Screen-on during ability startup in the FA model I58ZRD Automatic generation of Extension JS server and client interface files using the ZIDL tool I58ZR5 Interception of uncatched exceptions I58ZR6 ANR processing I58ZR7 Thread suspension detection of the ability manager service I58ZR9 Suspension detection of an application's main thread I58ZRA Timeout detection of ability lifecycle transition I58ZR1 FA widget capability supplement - deleting invalid widgets I58ZR2 FA widget capability supplement - separate setting of the visibility status and update status of widgets I58ZQR Ability listeners I58ZQW APIs related to the scheduling component lifecycle I50DOL Worker mechanism in the stage model |
NA |
Multimedia | - The OpenSL ES recording APIs are added. - The HiStreamer engine supports audio playback for the standard system. The following requirements are involved: I58ZOI Settings and obtaining the total volume I58ZOJ Audio-related user permission control I58ZOM OpenSL ES basic recording APIs I59H9F Audio playback supported by the HiStreamer engine for the standard system |
NA |
Graphics | - Secure screen capturing and screen recording are supported. - An application's window can be displayed in other applications. The following requirements are involved: I58ZOX GPU compositing supported by RenderService I58ZOU Secure screen capturing and screen recording (security layer) I58ZOW Cross-screen window display in the case of extended screens and splicing screens I58ZOT Window embedding into other applications |
NA |
Window manager | - Quick switching to the home screen and restoration of application windows are supported. - Screen wakeup by window is supported. - The window can be used to keep the screen always on and adjusts the screen brightness. - The security layer is supported. - The window focusable and touchable attributes are added. - The window orientation can be set. - The window of an application can be displayed on a locked screen. - Window decoration is supported. - The main window of an application can be displayed in full screen. - An application can exit window control. - The application UI combination capability is provided for system applications. The following requirements are involved: I58ZP0 Setting of the display density I58ZP1 Quick switching to the home screen and restoration of application windows I58ZP4 Screen wakeup by window I58ZP5 Screen always-on and screen brightness adjustment by window I58ZP6 Security layer I58ZP7 Obtaining the window focusable and touchable attributes I58ZP8 Window orientation setting I58ZPA Window display on a locked screen I58ZPD Window decoration I58ZPE Full-screen display for the main window I58ZPG Exit window control by application I58ZPI Window launch by application I58ZPJ Application UI combination capability for system applications |
NA |
Network management | - WebSocket JS APIs are added. - The system.fetch APIs are now compatible. - The system.network APIs are now compatible. The following requirements are involved: I53CKH Supporting the system.fetch APIs I53CKT WebSocket support I53CJX Supporting the system.network APIs |
NA |
Globalization | - APIs for synchronously obtaining resources are provided. Resources can be obtained by resource name. Resources of the float type can be obtained. - MCC/MNC qualifiers are supported. - Independent compilation of different modules in an application is supported. - The locale-specific date format is supported. - Transliteration is supported, for example, converting Chinese characters into Hanyu Pinyin. The following requirements are involved: I596AO Supporting MCC/MNC qualifiers I58ZSE Enhanced resource management APIs I58ZSG Resource ID generation I4WM02 Transliteration I4WK2O Date format |
NA |
ArkUI | - The layout boundaries can be displayed for different components. - The mouse operation of the XComponent is enhanced, the layout adjustment when the input method is displayed is optimized, and the application performance is optimized. - The <Column> and <SideBarContainer> components can be automatically hidden when they are dragged to a width that is less than the minimum width. - The <AbilityComponent> component is added so an ability can be embedded into other applications as a component for display. The following requirements are involved: I58ZPY Decoding down-sampled images for higher performance I58ZPX CPU frequency increase to optimize the animation performance I58ZPW <AbilityComponent> component support I58ZPS XComponent mouse event I58ZPR Automatic layout when the input method app is started from the text box I58ZPQ Automatically hiding of the <Column> and <SideBarContainer> components when they are dragged to a width that is less than the minimum width I58ZPP Layout boundary display for the drawing and auxiliary components I58ZPO Layout boundary display for the button, selection, information display, and dynamic effect components I58ZPN Layout boundary display for text, input, image, video, and media components |
NA |
Program access control | - Security Enhanced Linux (SELinux, also known as label protection) is provided for service and hdf_service. - Permission configuration and validation capabilities are provided for native services. The following requirements are involved: I58ZO1 SELinux for service I58ZO2 SELinux for hdf_service I58ZO3 accessToken-based permission verification for native services |
NA |
Utils | TypedArray and SharedArrayBuffer support ECMAScript 2021. The following requirements are involved: I58ZPZ TypedArray ECMAScript 2021 support I58ZQ0 SharedArrayBuffer ECMAScript 2021 support |
NA |
Multi-language runtime | Ark VMs support multi-instance debugging, conditional breakpoints, and watch expressions. The following requirements are involved: I58ZQE Multi-instance debugging I58ZQD Conditional breakpoints I58ZQB Watch variables and expressions I58ZQ8 Code generated by the Ahead of Time (TSAOT) compiler supporting the garbage collector (GC) of ArkCompiler JS Runtime I58ZQ7 Quality back-end machine code generated by the TSAOT compiler |
NA |
Update | Adaptation to RK3568 is added. The following requirements are involved: I58ZSM RK 3568 update adaptation support by update_service I58ZSO RK 3568 update adaptation support by updater |
NA |
Misc services | The HTTP file upload and download APIs that were available before API version 6 are supplemented. The following requirements are involved: I58ZSC [download] Supporting the @system.request APIs I53J82 [upload] Supporting the @system.request APIs |
NA |
File management | - Configuration of special sandboxes is supported. - Third-party applications are provided with the storage query capability. The following requirements are involved: I58ZS6 Differentiated configuration of application sandboxes I58ZS9 Storage query capability for third-party applications I58ZSA Adaptation to new HUKS HAL APIs I58ZS3 Version update of the distributed user data access framework |
NA |
Common event and notification | - Agent-powered notification is added to support sending of notifications on behalf of third-party applications. - The notification slot query and setting capabilities are enhanced. The following requirements are involved: I582UB Agent-powered notification I582TF Enhancement of notification slot setting and query |
NA |
Pan-sensor | The adaptation to the ambient light sensor is added. The following requirements are involved: I53784 Continuous integration of pan-sensor capabilities - ambient light sensor I538PX System API synchronization |
NA |
Distributed data management | Distributed data object samples are added. The following requirement is involved: I4WO0S Distributed data object samples |
NA |
Driver | - Kernel drivers can be dynamically loaded. - The HAL capability of the peripheral module is enhanced and the HDIs are optimized. The following requirements are involved: I4UD9W Dynamic driver loading in the kernel space to improve the device driver development and debugging efficiency I54566 Rectification of the camera service and HDI cyclic dependency I50I6S Unified audio APIs for the IPC mode and direct debugging mode I54FQG Driver model of codec devices I544XP SELinux permission check for the HDF service I4UL98 ADC adaptation to the IIO framework of the Linux kernel |
NA |
Build | - The HAP files provided by the stage model can be compiled along with the code. - Third-party open-source software can be used as an independent part. When other parts depend on this software, the build subsystem automatically installs the software to the image, without the need for the configuration in the product list. - Python, Jinja2, and MarkupSafe are updated. - The device type can be customized during build. - The user and root versions are built separately. - The strip operation can be configured for the precompiled module. - The product configurations are normalized for different device types. The following requirements are involved: I53FCL The HAP files provided by the stage model can be compiled along with the code. I54ZLX Third-party open-source software can be used as an independent part. When other parts depend on this software, the build subsystem automatically installs the software to the image, without the need for the configuration in the product list. I54ERB/I52MRL/I52KTV Updating the open-source software that is identified as EOM by cleansource 3.1. I5714O Customization of ohos.para I4Q9MI Strip operation for the precompiled modules I56M93 Normalized product configurations for different device types |
- Python, Jinja2, and MarkupSafe are updated. - The user and root versions are built separately. The following requirements are involved: I54ZLX Third-party open-source software can be used as an independent part. When other parts depend on this software, the build subsystem automatically installs the software to the image, without the need for the configuration in the product list. I54ERB/I52MRL/I52KTV Updating the open-source software that is identified as EOM by cleansource 3.1. I4Q9MI Strip operation for the precompiled modules |
Test | - Test cases to be executed can be filtered by type, granularity, and level. - The UI test framework provides APIs such as sliding search. - The executor supports component-based execution and re-test of failed cases. - The stability tool supports report parsing, generation, and display, and component injection. The following requirements are involved: I58ZUJ Test case filtering I58ZUK Enhanced UI test framework capability: more APIs I58ZUM Enhanced UI test framework capability: UI-dump function I58ZUR Enhanced UI test framework capability: customized UI operation parameters I58ZUS Configuration of the test scheduling framework I58ZUU Componentization of the test scheduling framework I58ZUV Parsing, generating, and displaying of stability reports by the stability tool I58ZUW Component injection of the stability tool |
NA |
Basic security capabilities | Mutual authentication is now available between OpenHarmony devices based on the sample login account. The following requirements are involved: I58ZNS Mutual authentication between OpenHarmony devices based on the same login account I58ZNR Removing account authentication credentials from OpenHarmony devices after an account is logged out or removed I58ZNP Importing and removing of trust records of accounts from different vendors (same vendor or OEM vendor) for OpenHarmony devices I58ZNT Importing of account authentication credentials (asymmetric credentials) to OpenHarmony devices after an account is logged in or bound |
NA |
System applications | The Gallery application supports image editing and dynamic effects. The following requirements are involved: I58ZQ3 [Gallery] Image editing I58ZQ1 [Gallery] Dynamic effects I58ZQ4 [Contacts] Basic capability - 2D capability |
NA |
API Updates
Chip and Development Board Adaptation
For details about the adaptation status, see SIG_DevBoard.
Samples
Table 4 New samples
Subsystem | Sample | Introduction | Programming Language |
---|---|---|---|
ArkUI | Vibrator | This sample simulates the countdown scenario to show the use of the vibrator APIs. | ArkTS |
DFX | FaultLogger | This sample illustrates how to obtain fault information of an application in ArkTS. | ArkTS |
ArkUI | ComponentCollection | This sample illustrates all the components, animations, and global methods of ArkUI. | ArkTS |
ArkUI | ArkTSClock | This sample exemplifies how to implement a simple clock application using the ArkTS UI capability. | ArkTS |
Network management | Http | This sample simulates Postman, which requires the input of an API address and outputs the data obtained, to show the use of the data request APIs. | ArkTS |
Network management | Socket | This sample demonstrates the application of Socket in network communication, including connection authentication and chat communication between two devices. | ArkTS |
Distributed data management | DistributedRdb | This sample shows how to add, delete, modify, query, and synchronize data in the distributed relational database with ArkTS. | ArkTS |
Ability | WorkScheduler | This sample simulates the update process starting from downloading and saving an update package to sending a notification and installing the update package. Being processed by the background task management, the download task continues after the application exits. It stops until the download is complete. | ArkTS |
Ability | AbilityStartMode | This sample shows how to implement the standard, singleton, and specified ability launch modes in the stage model. | ArkTS |
Multimedia | MediaCollections | This sample illustrates media management in ArkTS, including network stream playback, audio and video playback control, and volume adjustment. | ArkTS |
Ability | ArkTSDistributedCalc | This sample implements a simple calculator application using JS distributed features. The calculator can perform simple numerical calculations and start a remote calculator FA to perform collaborative calculation. | ArkTS |
Web | Browser | This sample uses the stage model and related APIs to show a simple browser. | ArkTS |
Ability | DeviceUsageStatistics | This sample shows the device usage statistics. | ArkTS |
ArkUI | AdaptiveCapabilities | This sample shows multi-device adaptation in ArkTS, including resource qualifiers, atomic layouts, and responsive layouts. | ArkTS |
ArkUI | Game2048 | This sample shows how to develop a 2048 game using the <Grid> component. | ArkTS |
Typical Setting Page of One-Time Development for Multi-Device Deployment | Settings | This sample shows a typical page for setting an application. The page has different display effects in the small window and large window, reflecting the capability of one-time development for multi-device deployment. | ArkTS |
Distributed data management | Preference | This sample shows the theme switching function of preferences. | ArkTS |
Globalization | International | This sample shows how to use APIs related to i18n, intl, and resourceManager in ArkTS to set the system language, region, time, and time zone. It also provides locale setting examples. | ArkTS |
For more information, visit Samples.
Resolved Issues
Table 5 Resolved issues
Issue No. | Description |
---|---|
I4NRS5 | [Kernel subsystem] A CVE vulnerability exists. |
Known Issues
Table 6 Known issues
Issue No. | Description | Impact | To Be Resolved By |
---|---|---|---|
I4Z3G9 | [RK3568] Screen flickering occurs when the secondary window is opened in the immersive primary window. | Developer experience is affected. | 2022-06-15 |
I59M4Q | There is a low probability that the device is disconnected when hdc_std of API version 9 is used to connect to the device. | This issue occurs at a low probability (less than 1/30). It can be resolved by restarting the IDE or hdc_std. | 2022-06-30 |