鸿蒙NEXT开发【添加/删除Module】DevEco Studio模块管理
Module是应用/服务的基本功能单元,包含了源代码、资源文件、第三方库及应用/服务配置文件,每一个Module都可以独立进行编译和运行。一个应用/服务通常会包含一个或多个Module,因此,可以在工程中创建多个Module,每个Module分为Ability和Library两种类型。
Module是应用/服务的基本功能单元,包含了源代码、资源文件、第三方库及应用/服务配置文件,每一个Module都可以独立进行编译和运行。一个应用/服务通常会包含一个或多个Module,因此,可以在工程中创建多个Module,每个Module分为Ability和Library两种类型。
在工程中添加Module
创建新的Module
-
通过如下三种方法,在工程中添加新的Module。
-
方法1:鼠标移到工程目录顶部,单击鼠标右键,选择New > Module…,开始创建新的Module,此时该module将创建在工程根目录下。
-
方法2:选中工程目录中任意文件,然后在菜单栏选择File > New > Module…,开始创建新的Module,此时该module将创建在工程根目录下。
-
方法3:在工程根目录下创建一个新的Directory,可在该目录下单击鼠标右键,选择New > Module…,创建新的Module,此时module将创建在该文件目录下,方便开发者对模块进行分类管理。
说明
当前暂不支持在AppScope、hvigor、oh_modules、build、点开头的目录(如:.hvigor、.idea)下通过单击鼠标右键创建module。
-
-
在New Project Module界面中,选择需要创建的模板,单击Next。

-
在Module配置页面,设置新增Module的基本信息,然后单击Next。
-
Module name:新增模块的名称,Module name不可与工程名称相同。
-
Module type:仅在Ability模板存在该字段,可以选择Feature和Entry类型。
说明
- 同一工程通过新增Module仅支持创建一个Entry模块。如需构建Entry类型模块,可在module.json5文件中修改相应module下的type字段。
- 如果同一类型的设备已经存在Entry模块,出现新的Entry模块后,还需要[配置distroFilter分发规则]。
-
Device type:选择模块的设备类型,如果新建模块的Module type为feature,则只能选择该工程原有的设备类型;如果Module type为entry,可以选择该Module支持的其他设备类型。
-
Enable native:仅Library模板存在,将创建一个可以调用C/C++的共享包。

-
-
若该Module的模板类型为Ability,还需要设置新增Ability的Ability name和E** **xported参数,E xported参数表示该Ability是否可以被其它应用/服务所调用(FA模型下为Visible参数)。
- 勾选(true):可以被其它应用/服务调用。
- 不勾选(false):不能被其它应用/服务调用。
-
单击Finish,等待创建完成后,可以在工程目录中查看和编辑新增的Module。
导入Module
HarmonyOS工程支持从其它工程中导入HarmonyOS模块的功能,导入的模块只能是HarmonyOS工程中的模块。当前仅支持FA模型的模块导入到FA模型,Stage模型的模块导入到Stage模型。不支持FA模型的模块导入到Stage模型,或Stage模型的模块导入到FA模型。
说明
DevEco Studio支持引用当前工程目录之外,即其他工程下的Module。除Import Module方式导入模块外,可通过在build-profile.json5文件中srcPath字段下配置工程外Module的相对路径导入。通过srcPath方式导入工程,仅引用Module相关信息,不会将Module代码完全复制至本地。
-
在菜单栏单击File > New > Import… > Import Module。

-
选择导入的模块。
在指定路径下,选择导入的模块,单击OK。导入的模块可以为文件夹,也可以为zip格式。

配置distroFilter/distributionFilter分发规则
同一类型的设备(Phone、Wearable、Lite Wearable等)可能在系统API版本(apiVersion)、屏幕形状(screenShape)、窗口分辨率(screenWindow)上存在差异。针对这些差异,开发者需要针对同一类型设备的不同型号进行适配开发,然后在应用市场实现精准的分发,以便不同设备的用户能获得更好的使用体验。为了实现应用市场的精准分发,需要在一个工程中,针对同一类型设备添加多个Entry模块来适配不同型号的设备,然后再配置不同的分发规则。具体规则如下:
- 通过DeviceType与screenShape等属性的组合唯一确定一个Entry。
- distroFilter/distributionFilter中至少包含属性中的一个标签。
- 如果一个Entry模块中配置了screenShape等任意一个或多个标签,则其他的Entry模块也必须包含相同的标签。
- 一般情况下,screenShape和screenWindow标签用于Lite Wearable设备中。
- 不同属性标签的配置格式如下。其中,policy取值为include时,表示设备满足value取值时,应用市场向该设备进行分发;policy取值为exclude时,表示除了value的取值外,其它合法的取值,应用市场都会向设备进行分发。
说明
screenWindow标签的policy取值只能为include。
Stage模型配置分发规则
- 在entry > src > main > resources > profile文件夹中新建一个.json文件,并根据开发实际需要,配置如下代码信息。
{
"distributionFilter": {
"screenShape": { //屏幕形状枚举
"policy": "include",
"value": ["circle", "rect"]
},
"screenWindow": { //窗口分辨率
"policy": "include",
"value": ["454*454", "466*466"]
},
"screenDensity": { //屏幕的像素密度
"policy": "exclude",
"value": ["ldpi", "xldpi"]
},
"countryCode": { //国家地区
"policy": "include",
"value": ["CN", "HK"]
}
}
}
- 在module.json文件中指定分发文件。
{
"module": {
"name": "MyAbilityStage",
"metadata": [
{
"name": "ohos.module.distro",
"resource": "$profile:distro_filter_config" //distro_filter_config为被指定的分发文件
}
]
}
}
FA模型分发规则配置
在同一个工程中,如果同一个设备存在多个Entry模块,需要在每一个Entry模块的[config.json文件]中,配置distroFilter分发规则。
"module": {
...
"distroFilter": {
"标签名字": {
"policy": "include|exclude"
"value": [ a, b, c]
}
}
}
删除Module
在工程目录中选中要删除的模块,单击鼠标右键,选中Delete,并在弹出的对话框中单击Delete。
最后呢
很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。
而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点
如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。

针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细鸿蒙(OpenHarmony )手册(共计1236页)与鸿蒙(OpenHarmony )开发入门视频,帮助大家在技术的道路上更进一步。
- 《鸿蒙 (OpenHarmony)开发学习视频》
- 《鸿蒙生态应用开发V2.0白皮书》
- 《鸿蒙 (OpenHarmony)开发基础到实战手册》
- OpenHarmony北向、南向开发环境搭建
- 《鸿蒙开发基础》
- 《鸿蒙开发进阶》
- 《鸿蒙开发实战》

总结
鸿蒙—作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发。
并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用。那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行! 自↓↓↓拿
更多推荐



所有评论(0)