编译OpenHarmony 4.0 bete2及master分支,添加参数–no-prebuilt-sdk跳过编译sdk

简介

用户应用程序泛指运行在设备的操作系统之上,为用户提供特定服务的程序,简称“应用”。一个应用所对应的软件包文件,称为“应用程序包”。

OpenHarmony 提供了应用程序包开发、安装、查询、更新、卸载的管理机制,方便开发者开发和管理 OpenHarmony 应用,具体如下:

  • 应用软件所涉及的文件多种多样,开发者可通过 OpenHarmony 提供的集成开发工具将其开发的可执行代码、资源、三方库等文件整合到一起制作成 OpenHarmony 应用程序包,便于开发者对应用程序的部署。
  • 应用软件所涉及的设备类型多种多样,开发者可通过 OpenHarmony 提供的应用程序包配置文件指定其应用程序包的分发设备类型,便于应用市场对应用程序包的分发管理。
  • 应用软件所包含的功能多种多样,将不同的功能特性按模块来划分和管理是一种良好的设计方式。OpenHarmony 提供了同一应用程序的多包管理的机制,开发者可以将不同的功能特性聚合到不同的包中,方便后续的维护与扩展。
  • 应用软件涉及的芯片平台多种多样,有 x86、ARM 等,还有 32 位、64 位之分,OpenHarmony 为应用程序包屏蔽了芯片平台的差异,使应用程序包在不同的芯片平台都能够安装运行。
  • 应用软件涉及的软件信息多种多样,有应用版本、应用名称、组件、申请权限等的信息,OpenHarmony 包管理为开发者提供了这些信息的查询接口,方便开发者在程序中查询所需要的包信息。
  • 应用软件涉及的资源多种多样,有媒体资源、原生资源、字符资源以及国际化的资源等,OpenHarmony 包管理将不同的资源归档到不同的目录中,并集成资源索引文件,方便应用对资源的查找和使用。

hap 包的概念

HAP(Harmony Ability Package)是 OpenHarmony 应用安装的基本单位,包含了编译后的代码、资源、三方库及配置文件。HAP 可分为 Entry 和 Feature 两种类型:

  • Entry 类型的 HAP:是应用的主模块,在 module.json5 配置文件中的 type 标签配置为“entry”类型。在同一个应用中,同一设备类型只支持一个 Entry 类型的 HAP,通常用于实现应用的入口界面、入口图标、主特性功能等。
  • Feature 类型的 HAP:是应用的动态特性模块,在 module.json5 配置文件中的 type 标签配置为“feature”类型。一个应用程序包可以包含一个或多个 Feature 类型的 HAP,也可以不包含;Feature 类型的 HAP 通常用于实现应用的特性功能,可以配置成按需下载安装,也可以配置成随 Entry 类型的 HAP 一起下载安装(请参见 module 对象内部结构中的“deliveryWithInstall”)。

每个 OpenHarmony 应用可以包含多个.hap 文件,一个应用中的.hap 文件合在一起称为一个 Bundle,而 bundleName 就是应用的唯一标识(请参见 app.json5 配置文件中的 bundleName 标签)。需要特别说明的是:在应用上架到应用市场时,需要把应用包含的所有.hap 文件(即 Bundle)打包为一个.app 后缀的文件用于上架,这个.app 文件称为 App Pack(Application Package),其中同时包含了描述 App Pack 属性的 pack.info 文件;在云端分发和端侧安装时,都是以 HAP 为单位进行分发和安装的。

hap 包开发调试与发布部署

开发

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

调试

通过 DevEco Studio 编译打包,生成单个或者多个 HAP。真机基于 HAP 进行安装、卸载调试,调试指南可参考 应用程序包调试方法 ,其中包括了单 HAP 与多 HAP 通过 DevEco Studio 工具的安装调试方法。

应用程序包也可以通过  hdc_std 工具 (可通过 OpenHarmony SDK 获取,在 SDK 的 toolchains 目录下)进行安装、更新与卸载,通过 hdc_std 安装 HAP 时,HAP 的路径为开发平台上的文件路径,以 Windows 开发平台为例,命令参考如下:

hdc_std install C:entry.hap C:feature.hap     ## 安装、更新,多HAP可以指定多个文件路径
install bundle successfully.                    ## 执行结果

hdc_std uninstall com.example.myapplication     ## 卸载
uninstall bundle successfully.                  ## 执行结果

应用程序包也可以通过 bm 工具 进行调试。通过 bm 工具进行安装、更新 HAP 时,传入的文件路径为真机上的文件路径,命令参考如下:

bm install -p /data/app/entry.hap /data/app/feature.hap     ## 安装、更新,多HAP可以指定多个文件路径
install bundle successfully.                                ## 执行结果

bm uninstall -n com.example.myapplication                   ## 卸载
uninstall bundle successfully.                              ## 执行结果

发布

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

部署

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

应用在终端设备上的安装

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

阅读全文
下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.1024c.cn/archives/21599,转载请注明出处。
0

评论0

显示验证码
没有账号?注册  忘记密码?