• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Overview<a name="EN-US_TOPIC_0000001051452100"></a>
2
3-   [Bundle](#section196713235514)
4-   [Distribution](#section155387501033)
5
6This section describes the bundle-specific concepts in HarmonyOS. It uses an example to step you through how to create, develop, build, release, and install a bundle using the  **hpm-cli**  tool.
7
8## Bundle<a name="section196713235514"></a>
9
10A bundle is a term used in HarmonyOS to indicate a distribution. A bundle is equivalent to a package and it usually contains the following contents:
11
12-   Distributed binary file \(binary type\)
13-   Distributed source code file \(source code/code snippet type\)
14-   Build script \(distribution type\)
15-   Bundle description files:
16    -   **bundle.json**: metadata declaration \(name, version, dependency, etc.\)
17    -   **LICENSE**: license agreement
18    -   **README.md**: readme file
19    -   **CHANGELOG.md**: change log \(optional\)
20
21
22>![](../public_sys-resources/icon-note.gif) **NOTE:**
23>Bundles can be classified into the following types: binary, source code, code snippet, template, plug-in, distribution, and so on. A bundle can depend on other bundles. The dependency relationship can be represented by a directed acyclic graph \(DAG\).
24
25After you release a bundle on the  [HPM](https://hpm.harmonyos.com/#/en/home)  platform, other developers can download, install, and use the bundle through the HarmonyOS Package Manager \(hpm\).
26
27A bundle must be uniquely named in the format  **@scope/name**  in the namespace. Independent evolution is supported for each bundle.
28
29## Distribution<a name="section155387501033"></a>
30
31A distribution is a complete HarmonyOS release that integrates various bundles, including drivers, kernels, frameworks, and applications. A distribution can also be distributed on the  [HPM](https://hpm.harmonyos.com/#/en/home)  platform through bundles.
32
33>![](../public_sys-resources/icon-note.gif) **NOTE:**
34>The metadata of a distribution describes only the dependent bundles and build script compilation methods. It does not cover binary images of the distribution. When downloading a distribution, you also need to download the dependent bundles. You can obtain the system image file for burning only after finishing installation and compilation.
35>A distribution is inheritable. Specifically, you can add bundles to or delete bundles from an existing distribution to create your own distribution.
36
37**Figure  1**  Relationship between bundles and a distribution<a name="fig85033524124"></a>
38
39
40![](figure/组件和发行版的构成-英文.png)
41
42