diff --git a/en/device-dev/guide/third-party-sdk-integration.md b/en/device-dev/guide/third-party-sdk-integration.md new file mode 100644 index 0000000000000000000000000000000000000000..db6388833d5fc135ad5dc7dd8f9109f9c57d139b --- /dev/null +++ b/en/device-dev/guide/third-party-sdk-integration.md @@ -0,0 +1,325 @@ +# Third-Party SDK Integration + +- [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 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** + +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 + +## Compiling Code + +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 + +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 + +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 + +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 + +The third-party SDK integration is complete. + diff --git a/summary.md b/summary.md index 9ed2fc6440ddcd75af4ee2ab75d930a589ecd42c..a29a5c7e6122593aa4f661121a61961f6dda0cae 100644 --- a/summary.md +++ b/summary.md @@ -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 @@ -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) diff --git a/zh-cn/release-notes/OpenHarmony-2-0-Canary.md b/zh-cn/release-notes/OpenHarmony-2-0-Canary.md index 557d8096b665ffd37949939f73cd747b3de4d10a..8891673dcb81b0f55a528adbd9d30417e632abfe 100644 --- a/zh-cn/release-notes/OpenHarmony-2-0-Canary.md +++ b/zh-cn/release-notes/OpenHarmony-2-0-Canary.md @@ -1,4 +1,4 @@ -# OpenHarmony 2.0 Canary(2021-06-02) +# OpenHarmony 2.0 Canary(2021-06-01) - [版本概述](#section1677664815431) - [配套关系](#section13201781528)