【HarmonyOS】鸿蒙应用模块化实现
一、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中相应的组件及方法。