当前位置: 首页 > news >正文

鸿蒙6.0应用开发——一多工程的部署与发布

鸿蒙6.0应用开发——一多工程的部署与发布

文章目录

  • 鸿蒙6.0应用开发——一多工程的部署与发布
    • 概述
    • 创建三层架构工程
    • 修改Module类型及设备类型
    • 修改依赖关系
    • 配置增强启动页
    • 发布一多应用

概述

本章介绍一多应用在工程结构设计及应用上架配置中的方法。在开发“一多”应用时,除了需要针对手机、平板、电脑、智能穿戴、智慧屏等不同设备的硬件特性进行适配外,还需合理组织代码工程,以提升开发效率与部署灵活性。为保障多设备间一致的用户体验,系统提供了相应的配置能力。

说明

本章的内容基于DevEco Studio 6.0.0 Release版本进行介绍,如使用DevEco Studio其它版本,可能存在文档与产品功能界面不一致、操作不一致的情况,请以实际功能界面为准。

创建三层架构工程

建议在应用开发过程中使用架构设计中介绍的“三层架构工程”,在common层存放基础公共代码,features层存放相对独立的功能模块代码,products层存放完全独立的产品代码。通过在products层依赖features和common提供的公共能力,可最大化实现代码复用与职责分离。

“三层架构工程”将项目工程以common、features、products三个层级进行组织,以提升代码复用性与开发效率。工程结构示例如下所示:

/application ├── common# 公共特性目录│ ├── features# 功能模块目录│ ├── feature1# 子功能│ ├── feature2# 子功能2│ └──...# 子功能n│ └── products# 产品层目录├── default# 默认设备泛类目录├── tv# 智慧屏泛类目录└── wearable# 智能穿戴泛类目录

建议使用DevEco Studio直接创建出三层架构的新工程。在编译器创建工程弹框中选择Flexible Layout Ability工程模板,该模板可以创建跨设备应用开发的三层工程结构。更多工程模板介绍内容可参考工程模板介绍。

配置工程名称、包名等基本信息,选择目标支持设备,完成设置后即可创建项目。

创建后的工程目录如下图所示:

  • common层为HAR(Harmony Archive)类型的Module,提供通用组件和工具类等基础能力支撑;
  • features层默认创建两个HAR类型的Module,用于封装独立的功能模块与业务逻辑,提升模块化程度与复用性;
  • products层创建一个entry类型的HAP(Harmony Ability Package)Module,作为应用的主入口模块,承载设备与场景差异化的个性化配置和启动逻辑。

根据业务需求,应用可以灵活规划新增或删除Module,具体操作步骤可以参考添加/删除模块。

说明

在一多应用开发中,可以根据设备类型的设计差异选择是否创建独立HAP包。例如,手机和平板的布局与功能设计类似,可共用一个HAP包;而智慧屏(TV)和智能穿戴设备(Wearable)因与其他设备相比差异较大,建议分别创建独立的HAP包。

修改Module类型及设备类型

修改Module类型

在新增Module时,可选择不同类型的Module进行创建。若需修改已创建Module的类型,只需编辑其module.json5配置文件中的"type"字段即可。"type"支持"entry/feature/har/shared"四个取值,分别表示应用的主模块、动态特性模块、静态共享包模块、动态共享包模块,开发者可参考应用程序包开发与使用,根据具体使用场景来选择或修改Module的类型。

修改设备类型

在新增Module时,可指定该Module支持运行的设备类型;对于已创建的Module,可通过修改其module.json5配置文件中的"deviceTypes"字段,修改支持运行的设备类型,支持"phone/tablet/2in1/tv/wearable/car",分别对应手机、平板、电脑、智慧屏、智能穿戴、智能座舱设备。修改后需要点击右上角的"Sync Now",否则改动不会生效。

说明

module.json5配置文件中定义了Module的各项基本配置信息,更多字段的详细说明可参考module.json5配置文件。

修改依赖关系

采用架构设计中介绍的“三层架构工程”设计原则,在Module中引用其他Module时,需在其oh-package.json5文件中配置依赖关系。使用Flexible Layout Ability工程模板创建的三层架构,模板会默认配置好依赖关系。若要引入新的依赖关系,修改"dependencies"字段,添加新的依赖关系,格式为:

"依赖名称":"本地相对路径"

配置完成后,在代码中可直接通过该依赖名称使用features或common的功能模块。

修改oh-package.json5文件后,请点击右上角的"Sync Now",否则改动不会生效。更多详情参考引用及管理共享包。

配置增强启动页

启动页(Starting Window)在应用冷启动、进程未就绪或内容未加载完成时显示,是首个呈现给用户的界面。开发一多应用时,多端设备共用一套代码,由于不同设备的断点存在差异,启动页在各端呈现的效果可能有所不同,如下表所示:

系统提供增强启动页配置能力,旨在保障应用在多端设备上启动页体验的一致性,减少开发者的手动适配工作。开发者可根据设计需求配置启动资源,相应资源也具备根据窗口尺寸进行缩放的能力,更易于多设备适配设计。

增强启动页通过配置json文件的方式实现,json文件需要由开发者自行创建并放置到工程目录下,配置文件中可设置图标、插画、背景颜色、背景图片、品牌标识等多元化元素,有助于提升用户对产品的认知。详细的配置步骤可参考配置增强启动页。

说明

增强启动页从API version 19开始支持,低版本下配置不会生效。

发布一多应用

发布一多应用时,可以配置应用分发至多种设备。默认分发设备为创建项目时所选的设备类型,但可根据实际需求调整。只需发布一次,用户即可在所有支持的设备上安装和使用您的应用。详细的发布流程可参考发布HarmonyOS应用。

构建的一多工程若包含多个根据设备区分的HAP,且在配置支持设备时一并勾选了相关设备,应用程序(.app文件)在流水线或应用市场上被解包为N个Entry类型的HAP,根据HAP中的deviceTypes声明的设备类型,分发到不同设备。

说明

  • 请确保软件包中声明的支持设备范围(即module.json5文件中"deviceTypes"字段的枚举值)包含AppGallery Connect上最终勾选的设备类型。若声明范围小于勾选范围,超出部分将不会生效。若要新增支持的设备,可参考修改Module类型及设备类型。
  • 在应用提交上架前可以修改分发的设备,应用一旦发布,升级版本只支持增加设备,无法删除已选择的设备。
http://www.jsqmd.com/news/956624/

相关文章:

  • 云原生05-从手动扩缩容到Auto Scaling:K8s HPA/KEDA/VPA怎么选?调度器不工作?可能是这5个参数没配置对
  • LLM社交代理毒性传播机制与风险防控研究
  • Speechless终极指南:3步实现微博内容永久保存的完整方案
  • 免费高效的文本生成工具:ke-t5-base本地部署完整指南
  • 金融文本分析实战:使用FinBERT-tone构建智能投资决策系统
  • 如何通过Haier集成实现海尔空调、热水器等设备的自动化控制
  • 嵌入式开发中CMD文件配置与内存优化实战指南
  • ReadCat小说阅读器深度解析:如何打造无干扰的沉浸式阅读体验
  • 5分钟掌握Akagi麻将AI助手:从迷茫到自信的智能对局指南
  • 2025年IDM无限期使用方案:注册表权限锁定的完整实践指南
  • 系统架构设计师能力框架:看看你缺什么
  • 2026四川配电柜等机械设备回收优质厂家深度盘点 - 品研笔录
  • Redis主从集群下如何保持数据同步
  • 5分钟掌握iOSDeviceSupport:开发者的调试加速器
  • 数据仓库面试必备:data-warehouse-learning核心代码实现原理与优化策略
  • adb shell ls -lh /sdcard/AgeTest | head 其中head是什么意思?
  • xrdp远程桌面实战:5步深度配置解决Linux RDP连接难题
  • ISE 14.7下GTX接口调试实录:手把手教你用ILA抓取高速数据(附VIO联动技巧)
  • 国产psram芯片OPI pSRAM系列存储方案
  • 三步掌握Akaunting:用免费开源会计软件生成专业财务报告
  • 在VSCode中构建你的智能投资工作台:告别频繁切换,专注编码与投资
  • 如何用Ragas快速评估你的RAG应用:从入门到精通的全方位指南 [特殊字符]
  • 如何将单张插画一键转换为可编辑的PSD图层:Layerdivider完整指南
  • 性能对比分析:LongCat-Flash-Chat-FP8在推理效率上的突破
  • 2026年锡林郭勒盟黄金回收白银回收铂金回收金条回收高口碑 5 家线下门店实地测评整理 - 信誉隆金银铂奢回收
  • 5分钟搭建Kodi云端影院:115网盘免下载播放终极指南 [特殊字符]
  • 2026路灯杆TOP5:从壁厚到防腐,一篇讲透谁最扛造 - 品研笔录
  • 微信小程序返利系统源码,支持淘宝京东拼多多三平台一键跳转拿佣金
  • 单亲妈妈独自抚养幼女,一间焦本味小店,撑起母女二人全部生活希望
  • iMX6与iMX8千兆网络性能实测对比:从硬件瓶颈到系统调优