提交 d5d802ed 编写于 作者: M mamingshuai

update OpenHarmony 2.0 Canary

上级 d0fb0ee2
# Third-Party SDK Integration<a name="EN-US_TOPIC_0000001051612018"></a>
- [Planning a Directory Structure](#section1736472718351)
- [Building the Service libs](#section442815485351)
- [Compiling Adaptation Code](#section3984721113613)
- [Compiling Code](#section830417531286)
- [Compiling a Script](#section13500201173710)
- [Compiling Service Code](#section8754114803918)
- [Runtime](#section7737749184012)
- [End](#section153301392411)
To build a more open and complete Internet of Things \(IoT\) ecosystem, OpenHarmony has opened up a group of directories to integrate SDKs provided by different vendors. This guide describes how to integrate SDKs into OpenHarmony based on the Hi3861 board.
## Planning a Directory Structure<a name="section1736472718351"></a>
A third-party SDK consists of a static library and the adaption code. The SDK service logic is compiled to obtain the static library **libs** through the hardware module tool chain. Each module has its corresponding **libs**. The southbound APIs of the SDK are different from the APIs of OpenHarmony. The difference can be shielded by using the adaptation code **adapter**. Different modules can share the same **adapter**.
Based on the preceding features, third-party SDK directories can be divided as follows in the OpenHarmony directory structure:
- domains/iot/link/: The **adapter** is stored in this directory and is decoupled from the module.
- device/hisilicon/hispark\_pegasus/sdk\_liteos/3rd\_sdk/: The service library **libs** is stored in this directory and is bound to the module.
You must perform the following steps before adaptation. The following uses the demolink SDK as an example.
1. Create vendor directories, **domains/iot/link/demolink/** and **device/hisilicon/hispark\_pegasus/sdk\_liteos/3rd\_sdk/demolink/**, to isolate different vendors.
2. Create the **domains/iot/link/demolink/BUILD.gn** file to build the adaptation code.
3. Create the **device/hisilicon/hispark\_pegasus/sdk\_liteos/3rd\_sdk/demolink/libs/** directory to store the service library **libs**.
```
.
├── domains
│ └── iot
│ └── link
│ ├── demolink
│ │ └── BUILD.gn
│ ├── libbuild
│ │ └── BUILD.gn
│ └── BUILD.gn
└── device
└── hisilicon
└── hispark_pegasus
└── sdk_liteos
└── 3rd_sdk
└── demolink
└── libs
```
## Building the Service **libs**<a name="section442815485351"></a>
Generally, the platform SDK service is provided as a static library. After obtaining the OpenHarmony code, the platform vendor needs to compile the service library **libs** based on the corresponding hardware module vendor and save the compilation result to the **device/hisilicon/hispark\_pegasus/sdk\_liteos/3rd\_sdk/demolink/libs/** directory. The following describes how to build the service library **libs**.
OpenHarmony has planned the **domains/iot/link/libbuild/** directory for compiling the service library **libs**. This directory contains the **domains/iot/link/libbuild/BUILD.gn** and **domains/iot/link/BUILD.gn** files. The directory structure is as follows:
```
.
└── domains
└── iot
└── link
├── demolink
│ └── BUILD.gn
├── libbuild
│ └── BUILD.gn
└── BUILD.gn
```
Before building **libs**, you must perform the following steps:
1. Place the service source code files \(including **.c** and **.h** files\) in the **domains/iot/link/libbuild/** directory.
```
.
└── domains
└── iot
└── link
├── demolink
│ ├── demosdk_adapter.c
│ ├── demosdk_adapter.h
│ └── BUILD.gn
├── libbuild
│ ├── demosdk.c
│ ├── demosdk.h
│ └── BUILD.gn
└── BUILD.gn
```
2. Adapt to the **domains/iot/link/libbuild/BUILD.gn** file and restore the file after the compilation is complete.
In the **BUILD.gn** file, **sources** specifies the source file to build and **include\_dirs** specifies the path of the dependent header file so that the target build result is the static library **libdemosdk.a**.
```
static_library("demosdk") {
sources = [
"demosdk.c"
]
include_dirs = [
"//domains/iot/link/libbuild",
"//domains/iot/link/demolink"
]
}
```
3. Adapt to the **domains/iot/link/BUILD.gn** file and restore the file after the compilation is complete.
The **BUILD.gn** file is used to specify build entries. You need to enter all static library entries to be compiled in **features** so that the **domains/iot/link/libbuild/BUILD.gn** file is used in the build.
```
import("//build/lite/config/subsystem/lite_subsystem.gni")
import("//build/lite/config/component/lite_component.gni")
lite_subsystem("iot") {
subsystem_components = [
":link"
]
}
lite_component("link") {
features = [
"libbuild:demosdk"
]
}
```
After the preceding operations are complete, run the **hb build -T //domains/iot/link:iot** command in the root directory of the code and then check whether the target library file is generated in the **out/hispark\_pegasus/wifiiot\_hispark\_pegasus/libs/** directory.
![](figures/en-us_image_0000001078563230.png)
Copy the library file to the **device/hisilicon/hispark\_pegasus/sdk\_liteos/3rd\_sdk/demolink/libs/** directory and delete the **.c** and **.h** files from the **domains/iot/link/libbuild/** directory.
## Compiling Adaptation Code<a name="section3984721113613"></a>
## Compiling Code<a name="section830417531286"></a>
The APIs used in the platform SDK are different from the OpenHarmony APIs and cannot be directly used. Therefore, the adaptation code **adapter** is required for intermediate conversion. This section uses **DemoSdkCreateTask** in **domains/iot/link/demolink/demosdk\_adapter.c** as an example to describe how to compile adaptation code on OpenHarmony.
1. Check the description, parameters, and return values of the **DemoSdkCreateTask** API to adapt.
```
struct TaskPara {
char *name;
void *(*func)(char* arg);
void *arg;
unsigned char prio;
unsigned int size;
};
/*
* Create a thread for the IoT OS.
* Return 0 if the operation is successful; return a non-zero value otherwise.
*/
int DemoSdkCreateTask(unsigned int *handle, const struct TaskPara *para);
```
2. Check the OpenHarmony API document, select an API with similar features, and compare the parameters and usage. This guide uses **osThreadNew** as an example. By comparing this API with **DemoSdkCreateTask**, you can find that the parameters on which the two APIs depend are basically the same, but the structures to which the parameters belong are different.
```
typedef struct {
const char *name; ///< name of the thread
uint32_t attr_bits; ///< attribute bits
void *cb_mem; ///< memory for control block
uint32_t cb_size; ///< size of provided memory for control block
void *stack_mem; ///< memory for stack
uint32_t stack_size; ///< size of stack
osPriority_t priority; ///< initial thread priority (default: osPriorityNormal)
TZ_ModuleId_t tz_module; ///< TrustZone module identifier
uint32_t reserved; ///< reserved (must be 0)
} osThreadAttr_t;
/// Create a thread and add it to Active Threads.
/// \param[in] func thread function.
/// \param[in] argument pointer that is passed to the thread function as start argument.
/// \param[in] attr thread attributes; NULL: default values.
/// \return thread ID for reference by other functions or NULL in case of error.
osThreadId_t osThreadNew (osThreadFunc_t func, void *argument, const osThreadAttr_t *attr);
```
3. Perform code adaptation to shield the difference.
```
int DemoSdkCreateTask(unsigned int *handle, const struct TaskPara *para)
{
osThreadAttr_t attr = {0};
osThreadId_t threadId;
if (handle == 0 || para == 0) {
return DEMOSDK_ERR;
}
if (para->func == 0) {
return DEMOSDK_ERR;
}
if (para->name == 0) {
return DEMOSDK_ERR;
}
attr.name = para->name;
attr.priority = para->prio;
attr.stack_size = para->size;
threadId = osThreadNew((osThreadFunc_t)para->func, para->arg, &attr);
if (threadId == 0) {
printf("osThreadNew fail\n");
return DEMOSDK_ERR;
}
*(unsigned int *)handle = (unsigned int)threadId;
return DEMOSDK_OK;
}
```
## Compiling a Script<a name="section13500201173710"></a>
After completing code adaptation, create the **BUILD.gn** file in the directory where the **adapter** is located. This file can be used to compile the adaptation code into a static library and link the static library to the **bin** package during the entire package build. In the **domains/iot/link/demolink/BUILD.gn** file, **sources** specifies the source files to be used in the build and **include\_dirs** specifies the path of the dependent header file so that the target build result is the static library **libdemolinkadapter.a**.
```
import("//build/lite/config/component/lite_component.gni")
static_library("demolinkadapter") {
sources = [
"demosdk_adapter.c"
]
include_dirs = [
"//kernel/liteos-m/kal/cmsis",
"//domains/iot/link/demolink"
]
}
```
Modify the **domains/iot/link/BUILD.gn** file so that the **domain/iot/hilink/BUILD.gn** file is used in the build.
```
import("//build/lite/config/subsystem/lite_subsystem.gni")
import("//build/lite/config/component/lite_component.gni")
lite_subsystem("iot") {
subsystem_components = [
":link"
]
}
lite_component("link") {
features = [
"demolink:demolinkadapter"
]
}
```
## Compiling Service Code<a name="section8754114803918"></a>
After the service library **libs** and adaptation code are ready, compile the service entry function to call the service entry of the third-party SDK.
The following uses **demolink** as an example to describe how to compile code in **applications/sample/wifi-iot/app/** to call the **demosdk** entry function.
1. Create a directory.
Before compiling a service, you must create a directory \(or a directory structure\) in **applications/sample/wifi-iot/app/** to store service source code files.
For example, add the service directory **demolink** to the app, and create the service entry code **helloworld.c** and compile the **BUILD.gn** file.
```
.
└── applications
└── sample
└── wifi-iot
└── app
│── demolink
│ │── helloworld.c
│ └── BUILD.gn
└── BUILD.gn
```
2. Compile service code.
Compile the service entry function **DemoSdkMain** in the **helloworld.c** file, call the service entry **DemoSdkEntry** of **demolink**, and call the entry function through **SYS\_RUN\(\)** to start the service.
```
#include "hos_init.h"
#include "demosdk.h"
void DemoSdkMain(void)
{
DemoSdkEntry();
}
SYS_RUN(DemoSdkMain);
```
3. Compile build scripts.
Add the **applications/sample/wifi-iot/app/demolink/BUILD.gn** file, specify the paths of the source code and header file, and compile the static library file **libexample\_demolink.a**.
```
static_library("example_demolink") {
sources = [
"helloworld.c"
]
include_dirs = [
"//utils/native/lite/include",
"//domains/iot/link/libbuild"
]
}
```
Modify the **applications/sample/wifi-iot/app/BUILD.gn** file so that **demolink** is used in compilation.
```
import("//build/lite/config/component/lite_component.gni")
lite_component("app") {
features = [
"demolink:example_demolink"
]
}
```
## Runtime<a name="section7737749184012"></a>
Run the **hb build** command in the root directory of the code to compile and output the version package. Start **demolink**. The following shows the running result, which is consistent with the expected result of **demolink**.
```
ready to OS start
sdk ver:Hi3861V100R001C00SPC024 2020-08-05 16:30:00
formatting spiffs...
FileSystem mount ok.
wifi init success!
it is demosdk entry.
it is demo biz: hello world.
it is demo biz: hello world.
```
## End<a name="section153301392411"></a>
The third-party SDK integration is complete.
......@@ -311,33 +311,38 @@
- [时钟应用开发示例](zh-cn/device-dev/guide/时钟应用开发示例.md)
- [概述](zh-cn/device-dev/guide/概述-7.md)
- [开发准备](zh-cn/device-dev/guide/开发准备-8.md)
- [添加页面](zh-cn/device-dev/guide/添加页面-9.md)
- [开发步骤](zh-cn/device-dev/guide/开发步骤.md)
- [调试打包](zh-cn/device-dev/guide/调试打包-10.md)
- [真机运行](zh-cn/device-dev/guide/真机运行-11.md)
- [签名打包](zh-cn/device-dev/guide/签名打包.md)
- [真机运行](zh-cn/device-dev/guide/真机运行-9.md)
- [平台驱动开发示例](zh-cn/device-dev/guide/平台驱动开发示例.md)
- [概述](zh-cn/device-dev/guide/概述-12.md)
- [概述](zh-cn/device-dev/guide/概述-10.md)
- [环境准备](zh-cn/device-dev/guide/环境准备.md)
- [开发](zh-cn/device-dev/guide/开发-13.md)
- [开发](zh-cn/device-dev/guide/开发-11.md)
- [编译及烧录](zh-cn/device-dev/guide/编译及烧录.md)
- [外设驱动开发示例](zh-cn/device-dev/guide/外设驱动开发示例.md)
- [概述](zh-cn/device-dev/guide/概述-14.md)
- [概述](zh-cn/device-dev/guide/概述-12.md)
- [硬件资源介绍](zh-cn/device-dev/guide/硬件资源介绍.md)
- [Input模型简介](zh-cn/device-dev/guide/Input模型简介.md)
- [Input模型简介](Input模型简介.md)
- [环境搭建](zh-cn/device-dev/guide/环境搭建.md)
- [TouchScreen器件驱动开发](zh-cn/device-dev/guide/TouchScreen器件驱动开发.md)
- [TouchScreen器件驱动开发](TouchScreen器件驱动开发.md)
- [配置设备描述信息](zh-cn/device-dev/guide/配置设备描述信息.md)
- [配置Touchscreen器件信息](zh-cn/device-dev/guide/配置Touchscreen器件信息.md)
- [适配器件私有驱动](zh-cn/device-dev/guide/适配器件私有驱动.md)
- [编译及烧录](zh-cn/device-dev/guide/编译及烧录-15.md)
- [编译及烧录](zh-cn/device-dev/guide/编译及烧录-13.md)
- [调试验证](zh-cn/device-dev/guide/调试验证.md)
- [开机日志分析](zh-cn/device-dev/guide/开机日志分析.md)
- [Input模型工作流程解析](zh-cn/device-dev/guide/Input模型工作流程解析.md)
- [Input模型工作流程解析](Input模型工作流程解析.md)
- [私有配置信息解析](zh-cn/device-dev/guide/私有配置信息解析.md)
- [管理驱动层初始化及注册驱动至HDF框架](zh-cn/device-dev/guide/管理驱动层初始化及注册驱动至HDF框架.md)
- [公共驱动层初始化及注册驱动至HDF框架](zh-cn/device-dev/guide/公共驱动层初始化及注册驱动至HDF框架.md)
- [器件驱动层初始化及注册驱动至HDF框架](zh-cn/device-dev/guide/器件驱动层初始化及注册驱动至HDF框架.md)
- [具体调用逻辑串联函数](zh-cn/device-dev/guide/具体调用逻辑串联函数.md)
-
- [移植适配](zh-cn/device-dev/porting/Readme-CN.md)
- [三方库移植指导](zh-cn/device-dev/porting/三方库移植指导.md)
- [概述](zh-cn/device-dev/porting/概述.md)
......@@ -382,9 +387,8 @@
- [使用JS语言开发](zh-cn/application-dev/quick-start/使用JS语言开发.md)
- [UI](zh-cn/application-dev/ui/Readme-CN.md)
- [JS UI框架](zh-cn/application-dev/ui/JS-UI框架.md)
- [JS UI框架概述](zh-cn/application-dev/ui/JS-UI框架概述.md)
- [JS UI框架](zh-cn/application-dev/ui/JS-UI框架.md)
- [JS UI框架概述](zh-cn/application-dev/ui/JS-UI框架概述.md)
- [构建用户界面](zh-cn/application-dev/ui/构建用户界面.md)
- [组件介绍](zh-cn/application-dev/ui/组件介绍.md)
- [构建布局](zh-cn/application-dev/ui/构建布局.md)
......@@ -397,120 +401,118 @@
- [动画](zh-cn/application-dev/ui/动画.md)
- [事件](zh-cn/application-dev/ui/事件.md)
- [页面路由](zh-cn/application-dev/ui/页面路由.md)
- [自定义组件](zh-cn/application-dev/ui/自定义组件.md)
- [媒体](zh-cn/application-dev/media/Readme-CN.md)
- [音频](zh-cn/application-dev/media/音频.md)
- [音频开发概述](zh-cn/application-dev/media/音频开发概述.md)
- [音频播放开发指导](zh-cn/application-dev/media/音频播放开发指导.md)
- [音频管理开发指导](zh-cn/application-dev/media/音频管理开发指导.md)
- [自定义组件](zh-cn/application-dev/ui/自定义组件.md)
- [媒体](zh-cn/application-dev/media/Readme-CN.md)
- [音频](zh-cn/application-dev/media/音频.md)
- [音频开发概述](zh-cn/application-dev/media/音频开发概述.md)
- [音频播放开发指导](zh-cn/application-dev/media/音频播放开发指导.md)
- [音频管理开发指导](zh-cn/application-dev/media/音频管理开发指导.md)
- [网络与连接](zh-cn/application-dev/connectivity/Readme-CN.md)
- [IPC与RPC通信](zh-cn/application-dev/connectivity/IPC与RPC通信.md)
- [IPC与RPC通信概述](zh-cn/application-dev/connectivity/IPC与RPC通信概述.md)
- [IPC与RPC通信](zh-cn/application-dev/connectivity/IPC与RPC通信.md)
- [IPC与RPC通信概述](zh-cn/application-dev/connectivity/IPC与RPC通信概述.md)
- [IPC与RPC通信开发指导](zh-cn/application-dev/connectivity/IPC与RPC通信开发指导.md)
- [远端状态订阅开发实例](zh-cn/application-dev/connectivity/远端状态订阅开发实例.md)
- [远端状态订阅开发实例](zh-cn/application-dev/connectivity/远端状态订阅开发实例.md)
- [JS参考规范](zh-cn/application-dev/js-reference/Readme-CN.md)
- [框架说明](zh-cn/application-dev/框架说明.md)
- [文件组织](zh-cn/application-dev/文件组织.md)
- [js标签配置](zh-cn/application-dev/js标签配置.md)
- [app.js](zh-cn/application-dev/app-js.md)
- [语法](zh-cn/application-dev/语法.md)
- [HML语法参考](zh-cn/application-dev/HML语法参考.md)
- [CSS语法参考](zh-cn/application-dev/CSS语法参考.md)
- [JS语法参考](zh-cn/application-dev/JS语法参考.md)
- [组件](zh-cn/application-dev/组件.md)
- [通用](zh-cn/application-dev/通用.md)
- [组件方法](zh-cn/application-dev/组件方法.md)
- [动画样式](zh-cn/application-dev/动画样式.md)
- [渐变样式](zh-cn/application-dev/渐变样式.md)
- [转场样式](zh-cn/application-dev/转场样式.md)
- [自定义字体样式](zh-cn/application-dev/自定义字体样式.md)
- [原子布局](zh-cn/application-dev/原子布局.md)
- [容器组件](zh-cn/application-dev/容器组件.md)
- [badge](zh-cn/application-dev/badge.md)
- [dialog](zh-cn/application-dev/dialog.md)
- [div](zh-cn/application-dev/div.md)
- [list](zh-cn/application-dev/list.md)
- [list-item](zh-cn/application-dev/list-item.md)
- [list-item-group](zh-cn/application-dev/list-item-group.md)
- [panel](zh-cn/application-dev/panel.md)
- [popup](zh-cn/application-dev/popup.md)
- [refresh](zh-cn/application-dev/refresh.md)
- [stack](zh-cn/application-dev/stack.md)
- [stepper](zh-cn/application-dev/stepper.md)
- [stepper-item](zh-cn/application-dev/stepper-item.md)
- [swiper](zh-cn/application-dev/swiper.md)
- [tabs](zh-cn/application-dev/tabs.md)
- [tab-bar](zh-cn/application-dev/tab-bar.md)
- [tab-content](zh-cn/application-dev/tab-content.md)
- [基础组件](zh-cn/application-dev/基础组件.md)
- [button](zh-cn/application-dev/button.md)
- [chart](zh-cn/application-dev/chart.md)
- [divider](zh-cn/application-dev/divider.md)
- [image](zh-cn/application-dev/image.md)
- [image-animator](zh-cn/application-dev/image-animator.md)
- [input](zh-cn/application-dev/input.md)
- [label](zh-cn/application-dev/label.md)
- [marquee](zh-cn/application-dev/marquee.md)
- [menu](zh-cn/application-dev/menu.md)
- [option](zh-cn/application-dev/option.md)
- [picker](zh-cn/application-dev/picker.md)
- [picker-view](zh-cn/application-dev/picker-view.md)
- [piece](zh-cn/application-dev/piece.md)
- [progress](zh-cn/application-dev/progress.md)
- [qrcode](zh-cn/application-dev/qrcode.md)
- [rating](zh-cn/application-dev/rating.md)
- [select](zh-cn/application-dev/select.md)
- [slider](zh-cn/application-dev/slider.md)
- [span](zh-cn/application-dev/span.md)
- [switch](zh-cn/application-dev/switch.md)
- [text](zh-cn/application-dev/text.md)
- [toolbar](zh-cn/application-dev/toolbar.md)
- [toolbar-item](zh-cn/application-dev/toolbar-item.md)
- [toggle](zh-cn/application-dev/toggle.md)
- [画布组件](zh-cn/application-dev/画布组件.md)
- [canvas组件](zh-cn/application-dev/canvas组件.md)
- [CanvasRenderingContext2D对象](zh-cn/application-dev/CanvasRenderingContext2D对象.md)
- [Image对象](zh-cn/application-dev/Image对象.md)
- [CanvasGradient对象](zh-cn/application-dev/CanvasGradient对象.md)
- [ImageData对象](zh-cn/application-dev/ImageData对象.md)
- [栅格组件\(Rich\)](zh-cn/application-dev/栅格组件(Rich).md)
- [基本概念](zh-cn/application-dev/基本概念.md)
- [grid-container](zh-cn/application-dev/grid-container.md)
- [grid-row](zh-cn/application-dev/grid-row.md)
- [grid-col](zh-cn/application-dev/grid-col.md)
- [自定义组件](zh-cn/application-dev/自定义组件.md)
- [基本用法](zh-cn/application-dev/基本用法.md)
- [自定义事件](zh-cn/application-dev/自定义事件.md)
- [Props](zh-cn/application-dev/Props.md)
- [事件参数](zh-cn/application-dev/事件参数.md)
- [组件通用说明](zh-cn/application-dev/组件通用说明.md)
- [通用事件](zh-cn/application-dev/通用事件.md)
- [通用属性](zh-cn/application-dev/通用属性.md)
- [通用样式](zh-cn/application-dev/通用样式.md)
- [接口](zh-cn/application-dev/接口.md)
- [日志打印](zh-cn/application-dev/日志打印.md)
- [应用打点](zh-cn/application-dev/应用打点.md)
- [页面路由](zh-cn/application-dev/页面路由.md)
- [弹窗](zh-cn/application-dev/弹窗.md)
- [定时器](zh-cn/application-dev/定时器.md)
- [时间设置](zh-cn/application-dev/时间设置.md)
- [音频管理](zh-cn/application-dev/音频管理.md)
- [音频播放](zh-cn/application-dev/音频播放.md)
- [设备信息](zh-cn/application-dev/设备信息.md)
- [系统属性](zh-cn/application-dev/系统属性.md)
- [电池和充电属性](zh-cn/application-dev/电池和充电属性.md)
- [设置系统屏幕亮度](zh-cn/application-dev/设置系统屏幕亮度.md)
- [国际化](zh-cn/application-dev/国际化.md)
- [资源管理](zh-cn/application-dev/资源管理.md)
- [升级](zh-cn/application-dev/升级.md)
- [框架说明](zh-cn/application-dev/js-reference/框架说明.md)
- [文件组织](zh-cn/application-dev/js-reference/文件组织.md)
- [js标签配置](zh-cn/application-dev/js-reference/js标签配置.md)
- [app.js](zh-cn/application-dev/js-reference/app-js.md)
- [语法](zh-cn/application-dev/js-reference/语法.md)
- [HML语法参考](zh-cn/application-dev/js-reference/HML语法参考.md)
- [CSS语法参考](zh-cn/application-dev/js-reference/CSS语法参考.md)
- [JS语法参考](zh-cn/application-dev/js-reference/JS语法参考.md)
- [组件](zh-cn/application-dev/js-reference/组件.md)
- [通用](zh-cn/application-dev/js-reference/通用.md)
- [组件方法](zh-cn/application-dev/js-reference/组件方法.md)
- [动画样式](zh-cn/application-dev/js-reference/动画样式.md)
- [渐变样式](zh-cn/application-dev/js-reference/渐变样式.md)
- [转场样式](zh-cn/application-dev/js-reference/转场样式.md)
- [自定义字体样式](zh-cn/application-dev/js-reference/自定义字体样式.md)
- [原子布局](zh-cn/application-dev/js-reference/原子布局.md)
- [容器组件](zh-cn/application-dev/js-reference/容器组件.md)
- [badge](zh-cn/application-dev/js-reference/badge.md)
- [dialog](zh-cn/application-dev/js-reference/dialog.md)
- [div](zh-cn/application-dev/js-reference/div.md)
- [list](zh-cn/application-dev/js-reference/list.md)
- [list-item](zh-cn/application-dev/js-reference/list-item.md)
- [list-item-group](zh-cn/application-dev/js-reference/list-item-group.md)
- [panel](zh-cn/application-dev/js-reference/panel.md)
- [popup](zh-cn/application-dev/js-reference/popup.md)
- [refresh](zh-cn/application-dev/js-reference/refresh.md)
- [stack](zh-cn/application-dev/js-reference/stack.md)
- [stepper](zh-cn/application-dev/js-reference/stepper.md)
- [stepper-item](zh-cn/application-dev/js-reference/stepper-item.md)
- [swiper](zh-cn/application-dev/js-reference/swiper.md)
- [tabs](zh-cn/application-dev/js-reference/tabs.md)
- [tab-bar](zh-cn/application-dev/js-reference/tab-bar.md)
- [tab-content](zh-cn/application-dev/js-reference/tab-content.md)
- [基础组件](zh-cn/application-dev/js-reference/基础组件.md)
- [button](zh-cn/application-dev/js-reference/button.md)
- [chart](zh-cn/application-dev/js-reference/chart.md)
- [divider](zh-cn/application-dev/js-reference/divider.md)
- [image](zh-cn/application-dev/js-reference/image.md)
- [image-animator](zh-cn/application-dev/js-reference/image-animator.md)
- [input](zh-cn/application-dev/js-reference/input.md)
- [label](zh-cn/application-dev/js-reference/label.md)
- [marquee](zh-cn/application-dev/js-reference/marquee.md)
- [menu](zh-cn/application-dev/js-reference/menu.md)
- [option](zh-cn/application-dev/js-reference/option.md)
- [picker](zh-cn/application-dev/js-reference/picker.md)
- [picker-view](zh-cn/application-dev/js-reference/picker-view.md)
- [piece](zh-cn/application-dev/js-reference/piece.md)
- [progress](zh-cn/application-dev/js-reference/progress.md)
- [qrcode](zh-cn/application-dev/js-reference/qrcode.md)
- [rating](zh-cn/application-dev/js-reference/rating.md)
- [select](zh-cn/application-dev/js-reference/select.md)
- [slider](zh-cn/application-dev/js-reference/slider.md)
- [span](zh-cn/application-dev/js-reference/span.md)
- [switch](zh-cn/application-dev/js-reference/switch.md)
- [text](zh-cn/application-dev/js-reference/text.md)
- [toolbar](zh-cn/application-dev/js-reference/toolbar.md)
- [toolbar-item](zh-cn/application-dev/js-reference/toolbar-item.md)
- [toggle](zh-cn/application-dev/js-reference/toggle.md)
- [画布组件](zh-cn/application-dev/js-reference/画布组件.md)
- [canvas组件](zh-cn/application-dev/js-reference/canvas组件.md)
- [CanvasRenderingContext2D对象](zh-cn/application-dev/js-reference/CanvasRenderingContext2D对象.md)
- [Image对象](zh-cn/application-dev/js-reference/Image对象.md)
- [CanvasGradient对象](zh-cn/application-dev/js-reference/CanvasGradient对象.md)
- [ImageData对象](zh-cn/application-dev/js-reference/ImageData对象.md)
- [栅格组件\(Rich\)](zh-cn/application-dev/js-reference/栅格组件(Rich).md)
- [基本概念](zh-cn/application-dev/js-reference/基本概念.md)
- [grid-container](zh-cn/application-dev/js-reference/grid-container.md)
- [grid-row](zh-cn/application-dev/js-reference/grid-row.md)
- [grid-col](zh-cn/application-dev/js-reference/grid-col.md)
- [自定义组件](zh-cn/application-dev/js-reference/自定义组件.md)
- [基本用法](zh-cn/application-dev/js-reference/基本用法.md)
- [自定义事件](zh-cn/application-dev/js-reference/自定义事件.md)
- [Props](zh-cn/application-dev/js-reference/Props.md)
- [事件参数](zh-cn/application-dev/js-reference/事件参数.md)
- [组件通用说明](zh-cn/application-dev/js-reference/组件通用说明.md)
- [通用事件](zh-cn/application-dev/js-reference/通用事件.md)
- [通用属性](zh-cn/application-dev/js-reference/通用属性.md)
- [通用样式](zh-cn/application-dev/js-reference/通用样式.md)
- [接口](zh-cn/application-dev/js-reference/接口.md)
- [日志打印](zh-cn/application-dev/js-reference/日志打印.md)
- [应用打点](zh-cn/application-dev/js-reference/应用打点.md)
- [页面路由](zh-cn/application-dev/js-reference/页面路由.md)
- [弹窗](zh-cn/application-dev/js-reference/弹窗.md)
- [定时器](zh-cn/application-dev/js-reference/定时器.md)
- [时间设置](zh-cn/application-dev/js-reference/时间设置.md)
- [音频管理](zh-cn/application-dev/js-reference/音频管理.md)
- [音频播放](zh-cn/application-dev/js-reference/音频播放.md)
- [设备信息](zh-cn/application-dev/js-reference/设备信息.md)
- [系统属性](zh-cn/application-dev/js-reference/系统属性.md)
- [电池和充电属性](zh-cn/application-dev/js-reference/电池和充电属性.md)
- [设置系统屏幕亮度](zh-cn/application-dev/js-reference/设置系统屏幕亮度.md)
- [国际化](zh-cn/application-dev/js-reference/国际化.md)
- [资源管理](zh-cn/application-dev/js-reference/资源管理.md)
- [升级](zh-cn/application-dev/js-reference/升级.md)
## en
<!-- English Version -->
......@@ -555,10 +557,9 @@
- [Ubuntu Build Environment](en/device-dev/quick-start/ubuntu-build-environment-10.md)
- [FAQs](en/device-dev/quick-start/faqs-11.md)
- [How to Develop](en/device-dev/quick-start/how-to-develop-12.md)
- Usage Guidelines
- [Kernel](en/device-dev/kernel/Readme-EN.md)
- [Lite Kernel](en/device-dev/kernel/lite-kernel.md)
- Usage Guidelines
- [Kernel](en/device-dev/kernel/Readme-EN.md)
- [Lite Kernel](en/device-dev/kernel/lite-kernel.md)
- [OpenHarmony Lite Kernel Basic Functions](en/device-dev/kernel/openharmony-lite-kernel-basic-functions.md)
- [Process](en/device-dev/kernel/process.md)
- [Thread](en/device-dev/kernel/thread.md)
......@@ -637,11 +638,11 @@
- [tftp](en/device-dev/kernel/tftp.md)
- [Magic Key Usage](en/device-dev/kernel/magic-key-usage.md)
- [User-Space Exception Information](en/device-dev/kernel/user-space-exception-information.md)
- [Linux Kernel](en/device-dev/kernel/linux-kernel.md)
- [Linux Kernel](en/device-dev/kernel/linux-kernel.md)
- [Linux Kernel Overview](en/device-dev/kernel/linux-kernel-overview.md)
- [Guidelines for Using Patches on OpenHarmony Development Boards](en/device-dev/kernel/guidelines-for-using-patches-on-openharmony-development-boards.md)
- [Guidelines for Compiling and Building the Linux Kernel](en/device-dev/kernel/guidelines-for-compiling-and-building-the-linux-kernel.md)
- [Drivers](en/device-dev/driver/Readme-EN.md)
- [HDF](en/device-dev/driver/hdf.md)
- [HDF Overview](en/device-dev/driver/hdfoverview.md)
......@@ -701,24 +702,25 @@
- [WLAN Overview](en/device-dev/driver/wlanoverview.md)
- [WLAN Development Guidelines](en/device-dev/driver/wlandevelopment-guidelines.md)
- [WLAN Development Example](en/device-dev/driver/wlandevelopment-example.md)
- [Subsystems](en/device-dev/subsystems/Readme-EN.md)
- [Compilation and Building](en/device-dev/subsystems/compilation-and-building.md)
- [Subsystems](en/device-dev/subsystems/Readme-EN.md)
- [Compilation and Building](en/device-dev/subsystems/compilation-and-building.md)
- [Building Guidelines for Mini and Small Systems](en/device-dev/subsystems/building-guidelines-for-mini-and-small-systems.md)
- [Compilation and Building Overview](en/device-dev/subsystems/compilation-and-building-overview.md)
- [Compilation and Building Guidelines](en/device-dev/subsystems/compilation-and-building-guidelines.md)
- [Compilation and Building FAQ](en/device-dev/subsystems/compilation-and-building-faq.md)
- [Building Guidelines for Standard and Large Systems](en/device-dev/subsystems/building-guidelines-for-standard-and-large-systems.md)
- [Building Guidelines for the Standard System](en/device-dev/subsystems/building-guidelines-for-the-standard-system.md)
- [Compilation and Building Overview](en/device-dev/subsystems/compilation-and-building-overview-0.md)
- [Compilation and Building Guidelines](en/device-dev/subsystems/compilation-and-building-guidelines-1.md)
- [Distributed Remote Startup](en/device-dev/subsystems/distributed-remote-startup.md)
- [Graphics](en/device-dev/subsystems/graphics.md)
- [Distributed Remote Startup](en/device-dev/subsystems/distributed-remote-startup.md)
- [Graphics](en/device-dev/subsystems/graphics.md)
- [Graphics](en/device-dev/subsystems/graphics-2.md)
- [Development Guidelines on Container Components](en/device-dev/subsystems/development-guidelines-on-container-components.md)
- [Development Guidelines on Layout Container Components](en/device-dev/subsystems/development-guidelines-on-layout-container-components.md)
- [Development Guidelines on Common Components](en/device-dev/subsystems/development-guidelines-on-common-components.md)
- [Development Guidelines on Animators](en/device-dev/subsystems/development-guidelines-on-animators.md)
- [Multimedia](en/device-dev/subsystems/multimedia.md)
- [Multimedia](en/device-dev/subsystems/multimedia.md)
- [Camera](en/device-dev/subsystems/camera.md)
- [Overview](en/device-dev/subsystems/overview.md)
- [Development Guidelines on Photographing](en/device-dev/subsystems/development-guidelines-on-photographing.md)
......@@ -728,11 +730,11 @@
- [Overview](en/device-dev/subsystems/overview-3.md)
- [Development Guidelines on Media Playback](en/device-dev/subsystems/development-guidelines-on-media-playback.md)
- [Development Guidelines on Media Recording](en/device-dev/subsystems/development-guidelines-on-media-recording.md)
- [Utils](en/device-dev/subsystems/utils.md)
- [Utils](en/device-dev/subsystems/utils.md)
- [Utils Overview](en/device-dev/subsystems/utils-overview.md)
- [Utils Development Guidelines](en/device-dev/subsystems/utils-development-guidelines.md)
- [Utils FAQ](en/device-dev/subsystems/utils-faq.md)
- [AI Framework](en/device-dev/subsystems/ai-framework.md)
- [AI Framework](en/device-dev/subsystems/ai-framework.md)
- [AI Engine Framework](en/device-dev/subsystems/ai-engine-framework.md)
- [Development Environment](en/device-dev/subsystems/development-environment.md)
- [Technical Specifications](en/device-dev/subsystems/technical-specifications.md)
......@@ -747,17 +749,17 @@
- [KWS SDK](en/device-dev/subsystems/kws-sdk.md)
- [KWS Plug-in](en/device-dev/subsystems/kws-plug-in.md)
- [KWS Configuration File](en/device-dev/subsystems/kws-configuration-file.md)
- [Sensors](en/device-dev/subsystems/sensors.md)
- [Sensors](en/device-dev/subsystems/sensors.md)
- [Sensors Overview](en/device-dev/subsystems/sensors-overview.md)
- [Sensors Usage Guidelines](en/device-dev/subsystems/sensors-usage-guidelines.md)
- [Sensors Usage Example](en/device-dev/subsystems/sensors-usage-example.md)
- [Application Framework](en/device-dev/subsystems/application-framework.md)
- [Application Framework](en/device-dev/subsystems/application-framework.md)
- [Overview](en/device-dev/subsystems/overview-4.md)
- [Setting Up a Development Environment](en/device-dev/subsystems/setting-up-a-development-environment.md)
- [Development Guidelines](en/device-dev/subsystems/development-guidelines-5.md)
- [Development Example](en/device-dev/subsystems/development-example.md)
- [OTA Upgrade](en/device-dev/subsystems/ota-upgrade.md)
- [Telephony Service](en/device-dev/subsystems/telephony-service.md)
- [OTA Upgrade](en/device-dev/subsystems/ota-upgrade.md)
- [Telephony Service](en/device-dev/subsystems/telephony-service.md)
- [Overview](en/device-dev/subsystems/overview-6.md)
- [Development Guidelines](en/device-dev/subsystems/development-guidelines-7.md)
- [Integrating Modem Vendor Library](en/device-dev/subsystems/integrating-modem-vendor-library.md)
......@@ -765,84 +767,98 @@
- [Responding to Modem Service Requests](en/device-dev/subsystems/responding-to-modem-service-requests.md)
- [Reporting Modem Events](en/device-dev/subsystems/reporting-modem-events.md)
- [Development Examples](en/device-dev/subsystems/development-examples-8.md)
- [Security](en/device-dev/subsystems/security.md)
- [Security](en/device-dev/subsystems/security.md)
- [Overview](en/device-dev/subsystems/overview-9.md)
- [Development Guidelines on Application Signature Verification](en/device-dev/subsystems/development-guidelines-on-application-signature-verification.md)
- [Development Guidelines on Application Permission Management](en/device-dev/subsystems/development-guidelines-on-application-permission-management.md)
- [Development Guidelines on IPC Authentication](en/device-dev/subsystems/development-guidelines-on-ipc-authentication.md)
- [Development Guidelines on Trusted Device Group Management](en/device-dev/subsystems/development-guidelines-on-trusted-device-group-management.md)
- [Reference](en/device-dev/subsystems/reference.md)
- [Startup](en/device-dev/subsystems/startup.md)
- [Startup](en/device-dev/subsystems/startup.md)
- [Startup](en/device-dev/subsystems/startup-10.md)
- [init Module](en/device-dev/subsystems/init-module.md)
- [appspawn Module](en/device-dev/subsystems/appspawn-module.md)
- [bootstrap Module](en/device-dev/subsystems/bootstrap-module.md)
- [syspara Module](en/device-dev/subsystems/syspara-module.md)
- [startup Module](en/device-dev/subsystems/startup-module.md)
- [systemrestore Module](en/device-dev/subsystems/systemrestore-module.md)
- [FAQs](en/device-dev/subsystems/faqs.md)
- [Reference](en/device-dev/subsystems/reference-11.md)
- [Testing](en/device-dev/subsystems/testing.md)
- [DFX](en/device-dev/subsystems/dfx.md)
- [DFX](en/device-dev/subsystems/dfx-12.md)
- [Reference](en/device-dev/subsystems/reference.md)
- [Testing](en/device-dev/subsystems/testing.md)
- [DFX](en/device-dev/subsystems/dfx.md)
- [DFX](en/device-dev/subsystems/dfx-11.md)
- [Development Guidelines on HiLog ](en/device-dev/subsystems/development-guidelines-on-hilog.md)
- [Development Guidelines on HiLog\_Lite](en/device-dev/subsystems/development-guidelines-on-hilog_lite.md)
- [Development Guidelines on HiTrace](en/device-dev/subsystems/development-guidelines-on-hitrace.md)
- [Development Guidelines on HiCollie](en/device-dev/subsystems/development-guidelines-on-hicollie.md)
- [Development Guidelines on HiSysEvent](en/device-dev/subsystems/development-guidelines-on-hisysevent.md)
- [R&D Tools](en/device-dev/subsystems/r-d-tools.md)
- [R&D Tools](en/device-dev/subsystems/r-d-tools.md)
- [bytrace Usage Guidelines](en/device-dev/subsystems/bytrace-usage-guidelines.md)
- [hdc Usage Guidelines](en/device-dev/subsystems/hdc-usage-guidelines.md)
- [X Test Suite](en/device-dev/subsystems/x-test-suite.md)
- [hdc std Usage Guidelines](en/device-dev/subsystems/hdc_std-usage-guidelines.md)
- [XTS](en/device-dev/subsystems/xts.md)
- [Privacy and Security](en/device-dev/security/Readme-EN.md)
- [Security Guidelines](en/device-dev/security/security-guidelines.md)
- [Security Updates](en/device-dev/security/security-updates.md)
- [Development Examples](en/device-dev/guide/Readme-EN.md)
- [WLAN-connected Products](en/device-dev/guide/wlan-connected-products.md)
- [LED Peripheral Control](en/device-dev/guide/led-peripheral-control.md)
- [Overview](en/device-dev/guide/overview.md)
- [Development](en/device-dev/guide/development.md)
- [Verification](en/device-dev/guide/verification.md)
- [Third-Party SDK Integration](en/device-dev/guide/third-party-sdk-integration.md)
- [Camera Control](en/device-dev/guide/camera-control.md)
- [Overview](en/device-dev/guide/overview-0.md)
- [Development Guidelines](en/device-dev/guide/development-guidelines.md)
- [Photographing](en/device-dev/guide/photographing.md)
- [Video Recording](en/device-dev/guide/video-recording.md)
- [Use Case](en/device-dev/guide/use-case.md)
- [Cameras with a Screen](en/device-dev/guide/cameras-with-a-screen.md)
- [Screen and Camera Control](en/device-dev/guide/screen-and-camera-control.md)
- [Overview](en/device-dev/guide/overview-1.md)
- [Development Guidelines](en/device-dev/guide/development-guidelines-2.md)
- [Photographing](en/device-dev/guide/photographing-3.md)
- [Video Recording](en/device-dev/guide/video-recording-4.md)
- [Previewing](en/device-dev/guide/previewing.md)
- [Use Case](en/device-dev/guide/use-case-5.md)
- [Visual Application Development](en/device-dev/guide/visual-application-development.md)
- [Overview](en/device-dev/guide/overview-6.md)
- [Preparations](en/device-dev/guide/preparations.md)
- [Adding Pages](en/device-dev/guide/adding-pages.md)
- [Building the Home Page](en/device-dev/guide/building-the-home-page.md)
- [Building the Details Page](en/device-dev/guide/building-the-details-page.md)
- [Debugging and Packaging](en/device-dev/guide/debugging-and-packaging.md)
- [Running on the Device](en/device-dev/guide/running-on-the-device.md)
- [FAQs](en/device-dev/guide/faqs.md)
- [Development Example for Distributed Music Player](en/device-dev/guide/development-example-for-distributed-music-player.md)
- [Overview](en/device-dev/guide/overview-7.md)
- [Preparations](en/device-dev/guide/preparations-8.md)
- [Adding a Page](en/device-dev/guide/adding-a-page.md)
- [Developing the Home Page](en/device-dev/guide/developing-the-home-page.md)
- [Developing the Playback Function](en/device-dev/guide/developing-the-playback-function.md)
- [Developing the Hop Function](en/device-dev/guide/developing-the-hop-function.md)
- [Debugging and Packaging](en/device-dev/guide/debugging-and-packaging-9.md)
- [Running on the Device](en/device-dev/guide/running-on-the-device-10.md)
- [Obtaining Source Code](en/device-dev/guide/obtaining-source-code.md)
- [FAQs](en/device-dev/guide/faqs-11.md)
- [Privacy Protection](en/device-dev/security/privacy-protection.md)
- [Security Guidelines](en/device-dev/security/security-guidelines.md)
- [Development Examples](en/device-dev/guide/Readme-EN.md)
- [WLAN-connected Products](en/device-dev/guide/wlan-connected-products.md)
- [LED Peripheral Control](en/device-dev/guide/led-peripheral-control.md)
- [Overview](en/device-dev/guide/overview.md)
- [Development](en/device-dev/guide/development.md)
- [Verification](en/device-dev/guide/verification.md)
- [Third-Party SDK Integration](en/device-dev/guide/third-party-sdk-integration.md)
- [Camera Control](en/device-dev/guide/camera-control.md)
- [Overview](en/device-dev/guide/overview-0.md)
- [Development Guidelines](en/device-dev/guide/development-guidelines.md)
- [Photographing](en/device-dev/guide/photographing.md)
- [Video Recording](en/device-dev/guide/video-recording.md)
- [Use Case](en/device-dev/guide/use-case.md)
- [Cameras with a Screen](en/device-dev/guide/cameras-with-a-screen.md)
- [Screen and Camera Control](en/device-dev/guide/screen-and-camera-control.md)
- [Overview](en/device-dev/guide/overview-1.md)
- [Development Guidelines](en/device-dev/guide/development-guidelines-2.md)
- [Photographing](en/device-dev/guide/photographing-3.md)
- [Video Recording](en/device-dev/guide/video-recording-4.md)
- [Previewing](en/device-dev/guide/previewing.md)
- [Use Case](en/device-dev/guide/use-case-5.md)
- [Visual Application Development](en/device-dev/guide/visual-application-development.md)
- [Overview](en/device-dev/guide/overview-6.md)
- [Preparations](en/device-dev/guide/preparations.md)
- [Adding Pages](en/device-dev/guide/adding-pages.md)
- [Building the Home Page](en/device-dev/guide/building-the-home-page.md)
- [Building the Details Page](en/device-dev/guide/building-the-details-page.md)
- [Debugging and Packaging](en/device-dev/guide/debugging-and-packaging.md)
- [Running on the Device](en/device-dev/guide/running-on-the-device.md)
- [FAQs](en/device-dev/guide/faqs.md)
- [Development Example for Clock Apps](en/device-dev/guide/development-example-for-clock-apps.md)
- [Overview](en/device-dev/guide/overview-7.md)
- [Preparations](en/device-dev/guide/preparations-8.md)
- [How to Develop](en/device-dev/guide/how-to-develop.md)
- [Signing and Packaging](en/device-dev/guide/signing-and-packaging.md)
- [Running on the Device](en/device-dev/guide/running-on-the-device-9.md)
- [Development Example for Platform Drivers](en/device-dev/guide/development-example-for-platform-drivers.md)
- [Overview](en/device-dev/guide/overview-10.md)
- [Preparations](en/device-dev/guide/preparations-11.md)
- [Development](en/device-dev/guide/development-12.md)
- [Building and Burning](en/device-dev/guide/building-and-burning.md)
- [Development Example for Peripheral Drivers](en/device-dev/guide/development-example-for-peripheral-drivers.md)
- [Overview](en/device-dev/guide/overview-13.md)
- [Hardware Resources](en/device-dev/guide/hardware-resources.md)
- [Input Driver Model](en/device-dev/guide/input-driver-model.md)
- [Setting Up the Environment](en/device-dev/guide/setting-up-the-environment.md)
- [Developing a Touchscreen Driver](en/device-dev/guide/developing-a-touchscreen-driver.md)
- [Configuring Device Driver Descriptions](en/device-dev/guide/configuring-device-driver-descriptions.md)
- [Configuring the Touchscreen](en/device-dev/guide/configuring-the-touchscreen.md)
- [Adapting to the Private Drivers of the Touchscreen](en/device-dev/guide/adapting-to-the-private-drivers-of-the-touchscreen.md)
- [Building and Burning](en/device-dev/guide/building-and-burning-14.md)
- [Debugging and Verification](en/device-dev/guide/debugging-and-verification.md)
- [Startup Log Analysis](en/device-dev/guide/startup-log-analysis.md)
- [Input Driver Model Workflow Analysis](en/device-dev/guide/input-driver-model-workflow-analysis.md)
- [Parsing Private Configuration Data](en/device-dev/guide/parsing-private-configuration-data.md)
- [Initializing the Input Device Manager and Registering the Driver with the HDF](en/device-dev/guide/initializing-the-input-device-manager-and-registering-the-driver-with-the-hdf.md)
- [Initializing the Input Common Driver and Registering the Driver with the HDF](en/device-dev/guide/initializing-the-input-common-driver-and-registering-the-driver-with-the-hdf.md)
- [Initializing the Input Chip Driver and Registering the Driver with the HDF](en/device-dev/guide/initializing-the-input-chip-driver-and-registering-the-driver-with-the-hdf.md)
- [Function Invocation Logic](en/device-dev/guide/function-invocation-logic.md)
- [Porting Guide](en/device-dev/porting/Readme-EN.md)
- [Third-Party Library Porting Guide](en/device-dev/porting/third-party-library-porting-guide.md)
- [Third-Party Library Porting Guide](en/device-dev/porting/third-party-library-porting-guide.md)
- [Overview](en/device-dev/porting/overview.md)
- [Porting a Library Built Using CMake](en/device-dev/porting/porting-a-library-built-using-cmake.md)
- [Porting a Library Built Using Makefile](en/device-dev/porting/porting-a-library-built-using-makefile.md)
- [Porting a Library Built Using Makefile](en/device-dev/porting/porting-a-library-built-using-makefile.md)
- [Third-Party SoC Porting Guide](en/device-dev/porting/third-party-soc-porting-guide.md)
- [Porting Preparations](en/device-dev/porting/porting-preparations.md)
- [Before You Start](en/device-dev/porting/before-you-start.md)
......@@ -851,7 +867,7 @@
- [Overview](en/device-dev/porting/overview-0.md)
- [Basic Kernel Adaptation](en/device-dev/porting/basic-kernel-adaptation.md)
- [Kernel Porting Verification](en/device-dev/porting/kernel-porting-verification.md)
- [Board-Level OS Porting](en/device-dev/porting/board-level-os-porting.md)
- [Board-Level OS Porting](en/device-dev/porting/board-level-os-porting.md)
- [Overview](en/device-dev/porting/overview-1.md)
- [Board-Level Driver Adaptation](en/device-dev/porting/board-level-driver-adaptation.md)
- [Implementation of APIs at the HAL](en/device-dev/porting/implementation-of-apis-at-the-hal.md)
......@@ -878,12 +894,12 @@
- Application Development
- [Basics ](en/application-dev/quick-start/Readme-EN.md)
- [Getting Started](getting-started.md)
- [Preparations](preparations.md)
- [Getting Started with JavaScript](getting-started-with-javascript.md)
- [Getting Started](en/application-dev/quick-start/getting-started.md)
- [Preparations](en/application-dev/quick-start/preparations.md)
- [Getting Started with JavaScript](en/application-dev/quick-start/getting-started-with-javascript.md)
- [UI](en/application-dev/ui/Readme-EN.md)
- [JS UI Framework](en/application-dev/ui/js-ui-framework.md)
- [JS UI Framework](en/application-dev/ui/js-ui-framework.md)
- [JS UI Framework Overview](en/application-dev/ui/js-ui-framework-overview.md)
- [Building the UI](en/application-dev/ui/building-the-ui.md)
- [Component Overview](en/application-dev/ui/component-overview.md)
......@@ -898,24 +914,24 @@
- [Event](en/application-dev/ui/event.md)
- [Defining Page Routes](en/application-dev/ui/defining-page-routes.md)
- [Custom Components](en/application-dev/ui/custom-components.md)
- [Media](en/application-dev/media/Readme-EN.md)
- [Audio](en/application-dev/media/audio.md)
- [Audio Overview](en/application-dev/media/audio-overview.md)
- [Media](en/application-dev/media/Readme-EN.md)
- [Audio](en/application-dev/media/audio.md)
- [Audio Overview](en/application-dev/media/audio-overview.md)
- [Development Guidelines on Audio Playback](en/application-dev/media/development-guidelines-on-audio-playback.md)
- [Development Guidelines on Audio Management](en/application-dev/media/development-guidelines-on-audio-management.md)
- [Connectivity](en/application-dev/connectivity/Readme-EN.md)
- [IPC & RPC](en/application-dev/connectivity/ipc-rpc.md)
- [IPC & RPC](en/application-dev/connectivity/ipc-rpc.md)
- [IPC & RPC Overview](en/application-dev/connectivity/ipc-rpc-overview.md)
- [IPC & RPC Development Guidelines](en/application-dev/connectivity/ipc-rpc-development-guidelines.md)
- [IPC & RPC Development Guidelines](en/application-dev/connectivity/ipc-rpc-development-guidelines.md)
- [Subscribing to State Changes of a Remote Object](en/application-dev/connectivity/subscribing-to-state-changes-of-a-remote-object.md)
- [JS Reference](en/application-dev/js-reference/Readme-EN.md)
- [Framework](en/application-dev/js-reference/framework.md)
- [Framework](en/application-dev/js-reference/framework.md)
- [File Organization](en/application-dev/js-reference/file-organization.md)
- ["js" Tag](en/application-dev/js-reference/js-tag.md)
- ["js" Tag](en/application-dev/js-reference/js-tag.md)
- [app.js](en/application-dev/js-reference/app-js.md)
- [Syntax](en/application-dev/js-reference/syntax.md)
- [HML](en/application-dev/js-reference/hml.md)
......@@ -928,7 +944,6 @@
- [Animation Styles](en/application-dev/js-reference/animation-styles.md)
- [Gradient Styles](en/application-dev/js-reference/gradient-styles.md)
- [Transition Styles](en/application-dev/js-reference/transition-styles.md)
- [Media Query](en/application-dev/js-reference/media-query.md)
- [Custom Font Styles](en/application-dev/js-reference/custom-font-styles.md)
- [Atomic Layout](en/application-dev/js-reference/atomic-layout.md)
- [Container Components](en/application-dev/js-reference/container-components.md)
......
# OpenHarmony 2.0 Canary(2021-06-02)<a name="ZH-CN_TOPIC_0000001102397706"></a>
# OpenHarmony 2.0 Canary(2021-06-01)<a name="ZH-CN_TOPIC_0000001102397706"></a>
- [版本概述](#section1677664815431)
- [配套关系](#section13201781528)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册