1. Harmony 工程目录

Posted by DH on October 26, 2024

App 包结构

鸿蒙的APP包结构整体上分为2大部分,分别是Hap和pack.info,其中HAP的数量是最少为1,pack.info数量为1。整体架构如下:

其中:

Hap:鸿蒙应用安装和运行的基本单元,由源码、资源文件、三方库和配置文件等组成,分为:

(1)Entry:是应用的入口

(2)feature:动态模块,应用的功能拓展

(3)pack.info:是在打包的时候,由IDE生成的。用于描述APP的信息,包含版本、公司、module等信息。

下图我们可以看到一个app包中包含的内容:

工程目录结构

AppScope:App全局配置,App名字、ICon等

Module:模块。可以包含多个模块,一定会有一个入口模块Entry。

ets:源码

entryability:应用入口;

pages:应用包含的页面;

resources:资源文件。图片、字符串、国际化相关资源。其中element用于存放字符串、颜色、央视等资源。media存放图片、视频、音频等多媒体文件;rawfile存放任意格式的资源文件。

module.json5:模块的配置文件。包含模块的名字、类型、描述、入口Ability的名字、支持的设备、需要的权限等信息;

build-profile.json5:当前模块的模块信息、编译信息配置项,buildOption、targets等;

hvigorfile.ts:模块级别编译构建的脚本;

oh-package.json5(模块内部):描述三方包名、版本、入口文件和依赖项;

oh_modules:存放第三方依赖库文件
build-profile.json5:应用级别的配置信息,包含签名、模块配置等;
hvigorfile.ts:应用级别的编译脚本;
oh-package.json5:应用级别的全局配置,比如依赖覆盖、依赖关系重写和参数化配置