@@ -7,9 +7,9 @@ The application framework of OpenHarmony consists of two modules: **ability man
**1. Ability management framework**: This framework is provided by OpenHarmony for you to develop OpenHarmony applications. The following figure shows the modules in the ability management framework.
**Figure 1** Architecture of the Ability management framework<aname="fig18932193213292"></a>
-**AbilityKit** is a development kit provided by the ability management framework. You can use this kit to develop applications based on the **Ability** component. There are two types of applications developed based on the **Ability** component: **JS Ability** developed using the JavaScript language and **Native Ability** developed using the C/C++ language. The **ACE** framework encapsulates JavaScript UI components on the basis of the AbilityKit and is used to help you quickly develop JS Ability-based applications.
-**AbilityKit** is a development kit provided by the ability management framework. You can use this kit to develop applications based on the **Ability** component. There are two types of applications developed based on the **Ability** component: **JS Ability** developed using the JavaScript language and **Native Ability** developed using the C/C++ language. The **JS application development framework** encapsulates JavaScript UI components on the basis of the AbilityKit and is used to help you quickly develop JS Ability-based applications.
-**Ability** is the minimum unit for the system to schedule applications. It is a component that can implement an independent functionality. An application can contain one or more **Ability** instances. There are two types of templates that you can use to create an **Ability** instance: Page and Service.
- An **Ability using the Page template**\(Page ability for short\) provides a UI for interacting with users.
- An **Ability using the Service template** does not have a UI and is used for running background tasks.
...
...
@@ -80,7 +80,7 @@ The following table describes the source code directory structure of the applica
<tdclass="cellrowborder"valign="top"width="63.82%"headers="mcps1.2.3.1.2 "><pid="p879375920132"><aname="p879375920132"></a><aname="p879375920132"></a>Core code of the ability management framework</p>
<tdclass="cellrowborder"valign="top"width="63.82%"headers="mcps1.2.3.1.2 "><pid="p879375920132"><aname="p879375920132"></a><aname="p879375920132"></a>Core code for AbilityKit</p>
<tdclass="cellrowborder"valign="top"width="63.82%"headers="mcps1.2.3.1.2 "><pid="p14793959161317"><aname="p14793959161317"></a><aname="p14793959161317"></a>External APIs of the ability management framework</p>
<tdclass="cellrowborder"valign="top"width="63.82%"headers="mcps1.2.3.1.2 "><pid="p14793959161317"><aname="p14793959161317"></a><aname="p14793959161317"></a>APIs provided by AbilityKit for developers</p>
<tdclass="cellrowborder"valign="top"width="63.82%"headers="mcps1.2.3.1.2 "><pid="p12658142611466"><aname="p12658142611466"></a><aname="p12658142611466"></a>APIs provided by the Ability Manager Service to other subsystems</p>
<tdclass="cellrowborder"valign="top"width="63.82%"headers="mcps1.2.3.1.2 "><pid="p12658142611466"><aname="p12658142611466"></a><aname="p12658142611466"></a>APIs provided by the Ability Manager Service for other subsystems</p>
<tdclass="cellrowborder"valign="top"width="63.82%"headers="mcps1.2.3.1.2 "><pid="p1169814112585"><aname="p1169814112585"></a><aname="p1169814112585"></a>External bundle management APIs provided by the bundle management framework</p>
<tdclass="cellrowborder"valign="top"width="63.82%"headers="mcps1.2.3.1.2 "><pid="p1169814112585"><aname="p1169814112585"></a><aname="p1169814112585"></a>APIs provided by BundleKit for developers</p>
<tdclass="cellrowborder"valign="top"width="63.82%"headers="mcps1.2.3.1.2 "><pid="p12693148215"><aname="p12693148215"></a><aname="p12693148215"></a>APIs provided by the Bundle Manager Service to other subsystems</p>
<tdclass="cellrowborder"valign="top"width="63.82%"headers="mcps1.2.3.1.2 "><pid="p12693148215"><aname="p12693148215"></a><aname="p12693148215"></a>Core code for AbilityKit and APIs provided by the Bundle Manager Service for other subsystems</p>
## Running the Two Services in the Application Framework<a name="section1048719468503"></a>
...
...
@@ -253,78 +253,93 @@ deps = [
## Running an Ability Developed Based on AbilityKit<a name="section16249444135119"></a>
- The demo code of the ability developed based on AbilityKit is stored in the **foundation/aafwk/frameworks/kits/ability\_lite/test** directory. If you need to modify the functionality, modify the code in the **unittest** file or add a code file, and update the configuration in **BUILD.gn** accordingly.
-Run the following command in the shell to compile the demo. After the compilation is successful, the **libLauncher.so** file is generated in **out/ipcamera\_hi3516dv300\_liteos\_a**.
- The demo code of the ability developed based on AbilityKit is stored in the **foundation/aafwk/frameworks/ability\_lite/example** directory. If you need to modify the functionality, modify the code in the **entry/src/main/cpp** files or add a new code file, and update the configuration in **BUILD.gn** accordingly.
-Add the configuration for the ability demo for compilation in the **build/lite/config/subsystem/aafwk/BUILD.gn** file.
-Modify the **config.json** file. The example content is as follows:
-Run the following command in the shell to compile the demo. After the compilation is successful, the **libhiability.so** file is generated in **out/ipcamera\_hi3516dv300\_liteos\_a/dev\_tools/example**.
- Compile the **config.json** file. For details, see the **config.json** file in the **foundation/aafwk/frameworks/ability\_lite/example** directory. The file content is as follows: