鸿蒙应用开发实战(一):应用程序包概述

应用与应用程序包

用户应用程序是指运行在设备操作系统之上,为用户提供特定服务的程序,简称"应用"。

一个应用所对应的软件包文件,称为"应用程序包"。

系统提供了应用程序包开发、安装、查询、更新、卸载的管理机制,便于开发者开发和管理应用。此外,系统还屏蔽了不同的芯片平台的差异(包括x86/ARM,32位/64位等),保证应用程序包在不同的芯片平台都能够安装运行。

应用的多Module设计机制

  • 支持模块化开发:一个应用通常包含多种功能,将不同的功能特性按模块来划分和管理是一种良好的设计方式。Module中可以包含源代码、资源文件、三方库、配置文件等,每一个Module可以独立编译,实现特定的功能。这种模块化、松耦合的应用管理方式有利于应用的开发、维护与扩展。
  • **支持多设备适配:**一个应用往往需要适配多种设备类型,在采用多Module设计的应用中,每个Module都会标注所支持的设备类型。Module支持的设备类型不同,有的支持全部类型,有的仅支持特定类型(例如平板)。在应用市场分发应用包时,可以根据设备类型进行精准筛选和匹配,从而合理组合和部署不同的包到对应的设备上。

Module类型

  • **Ability类型的Module:用于实现应用的功能和特性。**每一个Ability类型的Module编译后,会生成一个以.hap为后缀的文件,称为HAP(Harmony Ability Package)包。
  • **Library类型的Module:用于实现代码和资源的共享。**同一个Library类型的Module可以被其他的Module多次引用,合理地使用该类型的Module,能够降低开发和维护成本。Library类型的Module分为Static和Shared两种类型,编译后生成共享包:Static Library 静态共享库;Shared Library 动态共享库。
相关推荐
贾伟康7 小时前
【HarmonyOS 7新能力|008】互动卡片入门实战:从能力边界到最小可运行链路
harmonyos·arkts·arkui·harmonyos 7·互动卡片
●VON7 小时前
Flutter 鸿蒙插件适配实战:用 clipboard_watcher 0.3.0 监听剪贴板变化
flutter·华为·harmonyos
昇腾知识体系9 小时前
CANN 安装升级避坑:version.cfg 查版本、银河麒麟找不到驱动、nnrt --version 无输出排查
人工智能·华为·知识图谱
贾伟康9 小时前
【HarmonyOS 7新能力|005】沉浸光感入门实战:从能力边界到最小可运行链路
harmonyos·arkts·arkui·harmonyos 7·交互动效
心态还需努力呀15 小时前
把 Flameshot 编译进鸿蒙 PC:一次 Qt C++ 截图工具的源码级移植实战
c++·qt·harmonyos
心态还需努力呀16 小时前
把 Zettlr 搬上鸿蒙 PC:一次 Electron 应用移植实战
华为·electron·harmonyos
OH_TPC16 小时前
HarmonyOS APP开发---“心动卡“社交匹配App,需要用到这个库
华为·harmonyos·鸿蒙
●VON16 小时前
Flutter 鸿蒙插件适配实战:用 is_lock_screen 2.0.0 判断真实锁屏状态
flutter·华为·harmonyos
Sunny_G16 小时前
鸿蒙 Markdown 编辑器表格所见即所得:七个版本的渲染重构(CodeMirror Decoration 实战)
ai编程·harmonyos