HarmonyOS鸿蒙Next应用模块化实现的步骤讲解
HarmonyOS鸿蒙Next应用模块化实现的步骤讲解
鸿蒙应用模块化实现的步骤讲解
一、Module的概念
Module是HarmonyOS应用的基本功能单元,包含了源代码、资源文件、第三方库及应用清单文件,每一个Module都可以独立进行编译和运行。一个HarmonyOS应用通常会包含一个或多个Module,因此,可以在工程中,创建多个Module,每个Module分为Ability和Library。
二、新增Module方法
通过如下两种方法,在工程中添加新的Module。
方法1:鼠标移到工程目录顶部,点击鼠标右键,选择New>Module,开始创建新的Module。 方法2:在菜单栏选择File > New > Module,开始创建新的Module。

点击Next,在Module配置页面,设置新增Module的基本信息。
Module类型为Ability或者HarmonyOS Library时,请根据如下内容进行设置,然后点击Next。Application/Library name:新增Module所属的类名称。
Module name:新增模块的名称。 Module Type:仅Module类型为Ability时存在,工具自动根据设备类型下的模块进行设置。 Package name:软件包名称,可以点击Edit修改默认包名称,需全局唯一。 Compatible SDK:兼容的SDK版本。

设置新增Ability或HarmonyOS Library的Page Name。 若该Module类型为Ability,需要设置Visible参数,表示该Ability是否可以被其它应用所调用。 勾选(true):可以被其它应用调用。 不勾选(false):不能被其它应用调用。 点击Finish,等待创建完成后,可以在工程目录中查看和编辑新增的Module。
三、删除Module方法
为防止开发者在删除Module的过程中,误将其它的模块删除,DevEco Studio提供统一的模块管理功能,需要先在模块管理中,移除对应的模块后,才允许删除。
在菜单栏中选择File > Project Structure > Modules,选择需要删除的Module,点击按钮,并在弹出的对话框中点击Yes。
四、多module编译打包方法
HAP按构建类型和是否签名可以分为以下四种形态: 1、构建类型为Debug的HAP(带调试签名信息):携带调试签名信息,具备单步调试等调试手段的HAP,用于开发者在真机或者模拟器中进行应用调试。
2、构建类型为Debug的HAP(不带签名):不带调试签名信息,具备单步调试等调试手段的HAP,仅能运行在模拟器中。
3、构建类型为Release的HAP(带调试签名信息):携带调试签名信息,不具备调试能力的HAP,用于开发者在真机或者模拟器中查看和验证应用运行效果。相对于Debug类型的HAP包,体积更小,运行效果与用户实际体验一致。
4、构建类型为Release的HAP(不带签名):不带调试签名信息,不具备调试能力的HAP,仅能运行在模拟器中查看和验证应用运行效果。相对于Debug类型的HAP包,体积更小,运行效果与用户实际体验一致。 根据HarmonyOS工程介绍,一个HarmonyOS工程下可以存在多个Module,在编译构建时,可以选择对单个Module进行编译构建;也可以对整个工程进行编译构建,同时生成多个HAP。 在主菜单栏,点击Build > Build APP(s)/Hap(s) > Build Debug Hap(s),生成已签名的Debug HAP。

可以选择对单个Module:entry、module2、module3 也可以选择整个工程:MyApplication 选单个Module编包生成对应HAP文件,选择整个项目编包,则在每个Module的outputs路径下都生成HAP文件
五、module之间的相互调用
在MyApplication工程中创建多个module:entry、module2、module3
在module1模块中创建组件
在entry模块的配置文件package.json中添加依赖项module1
在entry模块中引用module1模块的组件
运行entry后的结果: 反之也可引用到entry中相应的组件及方法。
更多关于HarmonyOS鸿蒙Next应用模块化实现的步骤讲解的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
鸿蒙Next应用模块化实现步骤:
- 创建模块:在DevEco Studio中新建Module,选择对应模板(如Ability、Library等)。
- 配置模块:在模块级
build-profile.json5中声明模块类型、依赖等。 - 声明能力:在模块的
module.json5中配置abilities、extensionAbilities等元数据。 - 实现功能:在模块内开发UI、业务逻辑及公共能力。
- 依赖管理:在应用级
oh-package.json5中通过import引入其他模块。 - 构建集成:使用Hvigor构建工具编译打包,模块可独立编译或集成到主应用。
模块化支持代码与资源隔离,便于团队协作与动态部署。
HarmonyOS Next应用模块化实现的核心步骤包括:
-
模块划分:根据业务功能、复用性等原则将应用拆分为独立模块(如登录模块、支付模块),每个模块可独立开发、编译和测试。
-
创建模块:在DevEco Studio中通过
File > New > Module选择对应模板(如Ability、Library)创建模块,每个模块有独立的oh-package.json配置文件。 -
依赖配置:在模块的
oh-package.json中声明依赖关系,支持本地模块依赖、npm依赖及动态共享包(HSP)引用。 -
接口暴露:模块通过
export导出公共API,在Index.ets中统一声明可对外提供的接口,确保模块间解耦。 -
资源隔离:模块拥有独立的资源目录(resources),可通过
$r或$rawfile引用自身资源,共享资源需放入AppScope。 -
通信机制:使用公共事件、Ability调用或基于
Want的数据传递实现模块间通信,复杂场景可使用EventHub。 -
编译构建:通过
ohpm管理依赖,模块可单独编译为HAP或HSP,最终由主模块集成打包为App Pack。 -
动态部署:支持HSP动态加载,可通过
bundleManager按需下载和安装模块,实现应用功能热更新。
关键点:模块化需提前规划接口契约,避免循环依赖,HSP模块需注意版本兼容性。

