关于创建项目此处不再介绍,配置项目界面选一下
至于为啥没选择FA?只看见鸿蒙现在主推Stage模型。FA也不太了解。
项目整体结构介绍
安卓和鸿蒙项目结构对比
什么是应用程序包
用户应用程序泛指运行在设备的操作系统之上,为用户提供特定服务的程序,简称“应用”。一个应用所对应的软件包文件,称为“应用程序包”。
平台 | 安装包 |
---|---|
安卓 | aab或apk |
ios | ipa |
鸿蒙 | app |
windows | exe |
HarmonyOS提供了应用程序包开发、安装、查询、更新、卸载的管理机制
应用app包内HAP的类型
应用以APP Pack形式发布,其包含一个或多个HAP包。HAP是应用安装的基本单位,HAP可以分为Entry和Feature两种类型:
- Entry类型的HAP:应用的主模块。在同一个应用中,同一设备类型只支持一个Entry类型的HAP,通常用于实现应用的入口界面、入口图标、主特性功能等。
- Feature类型的HAP:应用的动态特性模块。Feature类型的HAP通常用于实现应用的特性功能,一个应用程序包可以包含一个或多个Feature类型的HAP,也可以不包含。 [图片上传失败…(image-4a0d87-1723466286313)]
Module分为“Ability”和“Library”两种类型:
- “Ability”类型的Module编译后生成HAP包。
- “Library”类型的Module编译后生成HAR包或HSP包
选择合适的包类型
HAP、HAR、HSP三者的功能和使用场景总结对比如下:
鸿蒙项目至少包括一个Entry类型的模块
创建一个功能文件夹feature 创建feature类型的HAP module
创建一个common目录里面放置通用模块
创建HAR库
如果希望放到仓库可以提供给其他应用使用需要创建类型为static library 打包之后生成的是Har 包含在依赖library的HAP和HSP中 包体积会变大。
创建HSP库
如果对包体积大小比较关心的话可以创建 shared library 编译之后生成的是HSP 工程内只有一份 不会重复加载,但是要考虑动态加载的问题
写在最后
●如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
●点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
●关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。
●更多鸿蒙最新技术知识点,请移步前往小编:https://gitee.com/