西宁建设工程官方网站,企业级网站建设,2017网站建设有市场吗,洛阳又发现一例HarmonyOS应用程序包-(下)
1.多HAP的开发调试与发布部署流程
多HAP的开发调试与发布部署流程如下图所示。
图1 多HAP的开发调试与发布部署流程 开发
开发者通过DevEco Studio工具按照业务的需要创建多个Module#xff0c;在相应的Module中完成自身业务的开发。
调试
通过…HarmonyOS应用程序包-(下)
1.多HAP的开发调试与发布部署流程
多HAP的开发调试与发布部署流程如下图所示。
图1 多HAP的开发调试与发布部署流程 开发
开发者通过DevEco Studio工具按照业务的需要创建多个Module在相应的Module中完成自身业务的开发。
调试
通过DevEco Studio编译打包生成单个或者多个HAP即可基于HAP进行调试。如需根据不同的部署环境、目标人群、运行环境等将同一个HAP定制编译为不同版本请参见定制编译指导。
在调试前需要先安装或更新HAP以下介绍具体做法。 使用DevEco Studio进行调试 使用指导可参考应用程序包调试方法其中包括了单HAP与多HAP通过DevEco Studio工具的安装调试方法。 使用hdc工具(可通过HarmonyOS SDK获取在SDK的toolchains目录下)进行调试 在调试前需要先安装或更新HAP此处有两种方式。 直接使用hdc安装、更新HAP。 HAP的路径为开发平台上的文件路径以Windows开发平台为例命令参考如下 // 安装、更新多HAP可以指定多个文件路径
hdc install C:\entry.hap C:\feature.hap
// 执行结果
install bundle successfully.
// 卸载
hdc uninstall com.example.myapplication
// 执行结果
uninstall bundle successfully.先执行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部署到指定目录下以完成应用的安装。
2.多HAP使用规则
App Pack包不能直接安装到设备上只是上架应用市场的单元。App Pack包中所有HAP的配置文件中的bundleName标签必须一致。App Pack包中所有HAP的配置文件中的versionCode标签必须一致。App Pack包中同一设备类型的所有HAP中必须有且只有一个entry类型的HAPfeature类型的HAP可以有一个或者多个也可以没有。App Pack包中的每个HAP必须配置moduleName标签同一设备类型的所有HAP对应的moduleName标签必须唯一。同一应用的所有HAP签名证书要保持一致。上架应用市场是以App Pack的形式上架并对其进行了签名。应用市场分发时会将所有HAP从App Pack中拆分出来同时对其中的所有HAP进行重签名这样保证了所有HAP签名证书的一致性。在调试阶段开发者通过命令行或IDE将HAP安装到设备上时要保证所有HAP签名证书一致否则会出现安装失败的问题。
3.多HAP运行机制及数据通信方式
多HAP机制主要是为方便开发者进行模块化管理。HAP和应用运行时的进程并不是一一对应的具体运行机制如下
默认情况下应用中同一包名的所有UIAbility、ServiceExtensionAbility、DataShareExtensionAbility运行在同一个独立进程中其他同类型ExtensionAbility分别运行在单独的进程。HAP支持在module.json5Stage模型或者config.jsonFA模型中通过process标签配置单独的进程仅系统应用支持三方应用不支持。配置了process的HAP其组件运行在单独的process进程中多个HAP可以配置相同的process则这些HAP运行在相同进程中process配置的详细说明请参见module.json5配置文件。应用运行时同一进程中的UIAbility组件被启动时才加载对应HAP的资源和代码。
基于上述机制多HAP数据通信方式如下
同一进程内的数据通信请参见线程间通信。跨进程的数据通信请参见进程间通信。多HAP如果运行在同一进程则多HAP间组件的通信方式与同一HAP内组件的通信方式相同。
4.应用程序包安装和卸载流程
开发者
开发者可以通过调试命令进行应用的安装和卸载可参考多HAP的调试流程。
图1 应用程序包安装和卸载流程开发者 终端设备用户
开发者将应用上架应用市场后终端设备用户可以在终端设备上使用应用市场进行应用的安装和卸载。
图2 应用程序包安装和卸载流程终端设备用户 5.应用程序包更新流程
HarmonyOS包管理服务提供了应用程序包更新能力更新方式如下。
应用市场内更新新版本应用通过应用市场上架后应用市场通知终端用户该应用有新版本终端用户可以根据通知到应用市场客户端进行应用升级。应用内检测升级终端用户启动应用时应用市场检测到该应用有新版本会通知终端用户可以到应用市场进行应用的下载更新。