# 概述 - [Bundle](#section196713235514) - [Distribution](#section155387501033) 本章节将介绍OpenHarmony中的Bundle相关概念以及如何定义Bundle,并以一个示例说明如何使用hpm命令行工具完成Bundle的创建、开发、编译、发布、安装使用的全过程。 ## Bundle Bundle是OpenHarmony中一个用来表示分发单元的术语,等同于包,一个Bundle中通常包含以下内容: - 被分发的二进制文件(二进制类型) - 被分发的源代码文件(源代码/代码片段类型) - 编译脚本(发行版类型需要) - 自身的说明文件 - bundle.json:元数据声明(名称,版本,依赖等) - LICENSE:许可协议文本 - README.md:自述文件 - CHANGELOG.md:变更日志(可选) >![](../public_sys-resources/icon-note.gif) **说明:** >Bundle的类型可以分为二进制,源代码,代码片段,模板,插件,发行版等。一个Bundle可以依赖其他的Bundles,依赖关系为有向无环图 一个Bundle被发布到HPM服务器(https://hpm.harmonyos.com)后,另外一些开发者就可以通过hpm包管理器下载安装使用 。 一个Bundle在命名空间内拥有唯一的名称(命名格式为:@scope/name),可以进行独立的版本演进。 ## Distribution Distribution是OpenHarmony的发行版,是一个完整的操作系统版本,集合了各种Bundle(驱动,内核,框架,应用等),也通过Bundle在HPM平台分发。 >![](../public_sys-resources/icon-note.gif) **说明:** >发行版的元数据中仅描述了依赖的Bundles以及如何编译该发行版的编译脚本,并不包含发行版的二进制镜像。下载发行版后,需要在本地将依赖的Bundles下载下来,安装编译后才能得到可用于烧录的系统镜像文件。 >发行版可以继承,即在一个既有的发行版的基础上,通过增加/删除Bundle形成新的发行版,以实现发行版的定制。 **图 1** 组Bundle和Distribution的关系 ![](figure/组件和发行版的构成-英文.png)