HarmonyOS Module实践

背景

在开发HarmonyOS应用时,默认创建的工程会有一个entry module,实际应用场景为了代码或者功能解耦,我们需要用到module来进行隔离。根据鸿蒙3.0/3.1/4.0官方指导,我们可以了解到关于module的类型,以及依赖关系,本篇文章将详细为大家介绍一下module的使用

准备

  1. 请按照鸿蒙官方网站中的"文档/指南"配置开发环境
  2. HarmonyOS 4.0系统手机

工程效果

概念概况

应用研发

应用共分为四个module,名称分别为entry, harlibrary, hsplibrary, modulefeature

  • entry: 应用主入口
  • harlibray: 实践entry如何依赖共享静态库
  • hsplibrary: 实践entry如何依赖共享动态库
  • modulefeature: 实践entry如何使用feature

创建harlibray

创建module ----> har依赖

har依赖文档中,可参考"引用本地文件夹,有如下两种方式"字样描述。

注意:folder,在文档中没有注明规则,你可以参考本篇文章中的设置,必须以@ohos开头,否则在entry模块中引用时会报错

创建hsplibrary

创建module ----> hsp依赖(同 har依赖)

备注:本篇文章实践中,创建了一个CustomComponent.ets文件,用于渲染文本,最终会被entry 模块中的index.ets文件调用

创建modulefeature

在DevEco Studio中,由于已经存在了一个entry类型module, 因此,在按照Empy Ability模版创建时,类型默认只能是feature

添加依赖

  1. entry依赖harlibrary

    • 工程根目录/oh-package.json5中添加如下依赖, 注意:"@ohos"必须要,"harlib"属于自己取的名字,"file:"也是固定开头
    less 复制代码
      "dependencies": {
        "@ohos/harlib": "file:harlibrary"
      }
  2. entry依赖hsplibrary

    • 工程根目录/entry/oh-package.json5中添加如下依赖, 注意:"@ohos"必须要,"hsplib"属于自己取的名字
    perl 复制代码
      "dependencies": {
        "@ohos/hsplib": "../hsplibrary"
      }
  3. entry依赖modulefeature

    • 其实不能叫做依赖,'共存"更为合适
    • entry 如果想要使用modulefeature中的UIAbility,需要先将modulefeature一同打包进入.app中,基本操作步骤如下, 亦可参考官网文档

编译安装

在工具栏选择"entry"模块,点击绿三角图标,即可完成编译安装。

备注: 注意要添加签名,否则无法安装

源码

gitee.com/harveyblack...

相关推荐
Georgewu5 小时前
【HarmonyOS】元服务入门详解 (一)
harmonyos
coder_pig6 小时前
跟🤡杰哥一起学Flutter (三十五、玩转Flutter滑动机制📱)
android·flutter·harmonyos
睿麒10 小时前
鸿蒙app 开发中的Record<string,string>的用法和含义
华为·harmonyos
cainiao08060512 小时前
华为HarmonyOS 5.0深度解析:跨设备算力池技术白皮书(2025全场景智慧中枢)
华为·harmonyos
万少13 小时前
04-自然壁纸实战教程-搭建基本工程
前端·harmonyos·客户端
yrjw15 小时前
FileSaver是一个为HarmonyOS ArkTS应用设计的开源库,提供便捷的文件保存功能。主要特性包括:支持将图片保存至系统相册和应用沙盒存储,支持多种
harmonyos
xo1988201116 小时前
鸿蒙选择本地视频文件,并获取首帧预览图
华为·harmonyos
在人间耕耘17 小时前
HarmonyOS组件/模板集成创新活动-开发者工具箱
华为·harmonyos
二流小码农18 小时前
鸿蒙开发:一键更新,让应用无需提交应用市场即可下载安装
android·ios·harmonyos
xyccstudio18 小时前
鸿蒙选择本地视频文件,并获取首帧预览图
harmonyos