首页 > 其他分享 >鸿蒙开发入门:多HAP的开发调试与发布部署流程

鸿蒙开发入门:多HAP的开发调试与发布部署流程

时间:2023-12-26 11:36:33浏览次数:28  
标签:鸿蒙 App 程序包 开发 应用 HAP 安装 调试


多HAP的开发调试与发布部署流程

多HAP的开发调试与发布部署流程如下图所示。

图1 多HAP的开发调试与发布部署流程

鸿蒙开发入门:多HAP的开发调试与发布部署流程_开发语言

开发

开发者通过DevEco Studio工具按照业务的需要创建多个Module,在相应的Module中完成自身业务的开发。

调试

通过DevEco Studio编译打包,生成单个或者多个HAP,即可基于HAP进行调试。如需根据不同的部署环境、目标人群、运行环境等,将同一个HAP定制编译为不同版本,请参见定制编译指导

在调试前,需要先安装或更新HAP,以下介绍具体做法。

  • 使用DevEco Studio进行调试
    使用指导可参考应用程序包调试方法,其中包括了单HAP与多HAP通过DevEco Studio工具的安装调试方法。
  • 使用hdc工具(可通过HarmonyOS SDK获取,在SDK的toolchains目录下)进行调试
    在调试前,需要先安装或更新HAP,此处有两种方式。
  1. 直接使用hdc安装、更新HAP。
    HAP的路径为开发平台上的文件路径,以Windows开发平台为例,命令参考如下:
// 安装、更新,多HAP可以指定多个文件路径hdc install C:\entry.hap C:\feature.hap// 执行结果install bundle successfully.// 卸载hdc uninstall com.example.myapplication// 执行结果uninstall bundle successfully.
  1. 先执行hdc shell,再使用bm工具安装、更新HAP。
    HAP的文件路径为真机上的文件路径,命令参考如下:
// 先执行hdc shell才能使用bm工具hdc shell// 安装、更新,多HAP可以指定多个文件路径bm install -p /data/app/entry.hap /data/app/feature.hap// 执行结果install bundle successfully.// 卸载bm uninstall -n com.example.myapplication// 执行结果uninstall bundle successfully.

完成HAP安装或更新后,即可参考相关调试命令进行调试。

发布

当开发的程序包满足发布要求时,可以在工具中打包编译生成App包。将该App包上架到应用市场云端,应用市场会对上架的App包校验签名,校验签名通过后会将App包中的HAP拆分出来,同时对拆分出的HAP重新添加签名,然后对HAP进行分发。

部署

用户在设备上的应用市场客户端能够看到各种各样的应用,这些应用均由云端分发而来,有些是多HAP应用,有些是单HAP应用。用户选择某个应用后,应用市场将下载应用所包含的全部deliveryWithInstall设置为“true”的HAP。

应用在终端设备上的安装

下载完成后,应用市场客户端再调用系统中包管理服务的安装接口安装下载的HAP,包管理服务以应用为单位将其中所有HAP部署到指定目录下,以完成应用的安装。

多HAP使用规则

  • App Pack包不能直接安装到设备上,只是上架应用市场的单元。
  • App Pack包中所有HAP的配置文件中的bundleName标签必须一致。
  • App Pack包中所有HAP的配置文件中的versionCode标签必须一致。
  • App Pack包中同一设备类型的所有HAP中必须有且只有一个entry类型的HAP,feature类型的HAP可以有一个或者多个,也可以没有。
  • App Pack包中的每个HAP必须配置moduleName标签,同一设备类型的所有HAP对应的moduleName标签必须唯一。
  • 同一应用的所有HAP签名证书要保持一致。上架应用市场是以App Pack的形式上架,并对其进行了签名。应用市场分发时会将所有HAP从App Pack中拆分出来,同时对其中的所有HAP进行重签名,这样保证了所有HAP签名证书的一致性。在调试阶段,开发者通过命令行或IDE将HAP安装到设备上时要保证所有HAP签名证书一致,否则会出现安装失败的问题。

最后

这里整理了一份《鸿蒙零基础入门学习指南》,希望能对那些想要学习鸿蒙,但是有没有方向的人提供一点帮助。本文档适用于HarmonyOS应用开发的初学者(由于文档内容过多,因此为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版的看文末有免费的获取方式!)

《鸿蒙零基础入门学习指南》

目录

鸿蒙开发入门:多HAP的开发调试与发布部署流程_华为_02

一、快速入门

适用于HarmonyOS应用开发的初学者。通过构建一个简单的具有页面跳转/返回功能的应用,快速了解工程目录的主要文件,熟悉HarmonyOS应用开发流程。

  • 开发准备
  • 基本概念
  • 工具准备
  • 构建第一个ArkTS应用(Stage模型)
  • 构建第一个ArkTS应用(FA模型)
  • 构建第一个JS应用(FA模型)

鸿蒙开发入门:多HAP的开发调试与发布部署流程_android_03

二、开发基础知识

  • 应用程序包基础知识
  • 应用程序包概述
  • 应用程序包结构
  • 应用程序包多HAP机制
  • 应用程序包安装和卸载流程
  • 应用程序包更新流程
  • 共享包
  • 应用程序包快速修复
  • 应用配置文件(Stage模型)
  • 应用配置文件概述(Stage模型)
  • app.json5配置文件
  • module.json5配置文件
  • 应用配置文件概述(FA模型)
  • 应用配置文件概述(FA模型)
  • app对象内部结构
  • deviceConfig内部结构
  • module对象内部结构

鸿蒙开发入门:多HAP的开发调试与发布部署流程_华为_04

三、资源分类与访问

应用开发过程中,经常需要用到颜色、字体、间距、图片等资源,在不同的设备或配置中,这些资源的值可能不同。

  • 资源分类与访问
  • 资源分类
  • 资源目录
  • 资源组目录
  • 创建资源目录和资源文件
  • 创建资源目录和资源文件
  • 创建资源目录
  • 创建资源文件
  • 资源访问
  • 应用资源
  • 系统资源
  • 资源匹配

四、学习ArkTs语言

ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。因此,在学习ArkTS语言之前,建议开发者具备TS语言开发能力。

  • 初识ArkTS语言
  • 基本语法
  • 基本语法概述
  • 声明式UI描述
  • 自定义组件
  • 状态管理
  • 其他状态管理
  • 其他状态管理概述
  • @Watch装饰器:状态变量更改通知
  • $$语法:内置组件双向同步
  • 渲染控制
  • 渲染控制概述
  • if/else:条件渲染
  • ForEach:循环渲染
  • LazyForEach:数据懒加载

鸿蒙开发入门:多HAP的开发调试与发布部署流程_开发语言_05

标签:鸿蒙,App,程序包,开发,应用,HAP,安装,调试
From: https://blog.51cto.com/u_16163480/8980575

相关文章

  •  鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Toast组件
     鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Toast组件编辑一、操作环境操作系统: Windows10专业版、IDE:DevEcoStudio3.1、SDK:HarmonyOS3.1二、Toast组件Toast 的应用场景也非常广泛,比如网络请求出错了可以弹一个 Toast 提示等。@ohos.prompt 模块里提供显示一个 Toast 的A......
  • 分享一些linux云计算开发面试题
    近年来,随着云计算的快速发展,对于中高级Linux云计算开发人才的需求也越来越大。在面试过程中,面试官通常会提出一系列与Linux云计算开发相关的问题,以评估面试者的技术实力和解决问题的能力。本文将围绕中高级Linux云计算开发面试题展开讨论,并给出相关问答。 一、虚拟化技术 1.什么......
  • 音视频技术开发周刊 | 323
    每周一期,纵览音视频技术领域的干货。Meta牵头组建开源「AI复仇者联盟」,AMD等盟友800亿美元力战OpenAI英伟达超过50家科技大厂名校和机构,共同成立了全新的人工智能联盟。以开源为旗号,誓于OpenAI和英伟达一决高下。 深度学习大牛权威预测2024年AI行业热点,盘点开源AI趋势!AI社区大佬Se......
  •  鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Toggle开关组件
     鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Toggle开关组件编辑一、操作环境操作系统: Windows10专业版、IDE:DevEcoStudio3.1、SDK:HarmonyOS3.1二、Toggle开关组件接口Toggle(options:{type:ToggleType,isOn?:boolean})参数参数名参数类型必填默认值参数描述typeToggleType......
  • 关键字 开发-14 用例跳过
    前言有些情况需要通过加入用例步骤之间的等待时间,来进行接口的断言或者后置,其次有时候需要根据条件判断用例是否需要执行。1.加入sleep等待时间通过sleep关键字即可实现,在执行用例的过程前添加等待时间。elifitem=='sleep':......
  • Qt/C++音视频开发61-多屏渲染/一个解码渲染到多个窗口/画面实时同步
    一、前言多屏渲染就是一个解码线程对应多个渲染界面,通过addrender这种方式添加多个绘制窗体,我们经常可以在展会或者卖电视机的地方可以看到很多电视播放的同一个画面,原理应该类似,一个地方负责打开解码播放,将画面同步传输到多个显示的地方,完全保证了画面的一致性。这样相当于复用......
  • 在Android应用开发中使用NFC功能
    NFC介绍NFC是指“近场通讯”(NearFieldCommunication),它是一种短距离无线通信技术,允许设备在非接触或极短距离内进行通信。NFC通常用于移动支付、门禁系统、智能标签和其他物联网应用中。Android系统对NFC提供了广泛的支持。通过NFC技术,Android设备可以与其他NFC设备进行通信,读取NF......
  • C++ Qt开发:Charts绘制各类图表详解
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍TreeWidget与QCharts的常用方法及灵活运用。在之前的文章中笔者介绍了如何使用QCharts模块来绘制......
  • WPF Halcon机器视觉和运动控制软件通用框架,插件式开发,开箱即用 仅供学习!
    点我下载,仅供个人学习使用参考easyvision开发,集成几十个软件算子此版本以添加ui设计器。具体功能如上所示,可以自定义变量,写c#脚本,自定义流程,包含了halcon脚本和封装的算子,可自定义ui,通过插件形式开发很方便拓展自己的功能。......
  • 鸿蒙 Ark ui 实战登录界面请求网络实现教程
    团队介绍作者:徐庆团队:坚果派公众号:“大前端之旅”润开鸿生态技术专家,华为HDE,博客专家,超级个体,特邀嘉宾,签约作者,OpenHarmony布道师,电子发烧友专家博客,51CTO博客专家,擅长HarmonyOS/OpenHarmony应用开发、熟悉服务卡片开发。欢迎合作。前言:各位同学有段时间没有见面因为一直很忙所......