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

应用与应用程序包

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

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

系统提供了应用程序包开发、安装、查询、更新、卸载的管理机制,便于开发者开发和管理应用。此外,系统还屏蔽了不同的芯片平台的差异(包括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 动态共享库。
相关推荐
Georgewu16 小时前
ArkGenie 的技术原理:从一段 SSE 到一个可交互 Surface
harmonyos
Georgewu16 小时前
在 HarmonyOS 上做一套真正能接入应用的 AI 对话组件:ArkGenie 项目介绍
harmonyos
2501_9445255417 小时前
开源鸿蒙平台 KMP_CMP 三方库「EitherNet」适配全流程
华为·开源·harmonyos
程序猿追19 小时前
返回 null 不一定入队成功:鸿蒙 KMP上的并发优先队列观察笔记
笔记·华为·harmonyos·kmp
2501_9445255419 小时前
开源鸿蒙平台 KMP_CMP 三方库「kotlinx.immutable」适配全流程
华为·开源·harmonyos
2501_9445257621 小时前
开源鸿蒙平台 KMP_CMP 三方库「Kaml」适配全流程
开源·kotlin·harmonyos
2501_944525541 天前
开源鸿蒙平台 KMP_CMP 三方库「Clikt」适配全流程
华为·开源·harmonyos
李&@杰1 天前
交换机PoE供电不足导致AP反复重启故障处理
网络·华为
特立独行的猫a1 天前
用仓颉写桌面应用的“薄壳框架”cj-tauri ,以及它的 AI 对话客户端 ai-chat
人工智能·harmonyos·tauri·仓颉·鸿蒙pc·cj-tarui·ai客户端
万物智能信息科技1 天前
Zigbee透传驱动开发—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
驱动开发·华为·开源·harmonyos·鸿蒙