APP包结构
在进行应用/元服务开发前,开发者应该掌握应用/元服务的逻辑结构。
应用/元服务发布形态为APP Pack(Application Package),它是由一个或多个HAP(Harmony Ability Package)包以及描述APP Pack属性的pack.info文件组成。
一个HAP在工程目录中对应一个Module,它是由代码、资源、三方库及应用/元服务配置文件组成,HAP可以分为Entry和Feature两种类型。
- Entry:应用的主模块,作为应用的入口,提供了应用的基础功能。
- Feature:应用的动态特性模块,作为应用能力的扩展,可以根据用户的需求和设备类型进行选择性安装。
基于Stage模型和FA模型开发的应用,应用程序包结构并不相同。
Stage模型应用程序包结构如下图所示。更多说明请参见应用开发基础知识中的Stage模型应用程序包结构。
FA模型应用程序包结构如下图所示。
切换工程视图
DevEco Studio工程目录结构提供工程视图和Ohos视图。工程视图(Project)展示工程中实际的文件结构,Ohos视图会隐藏一些编码中不常用到的文件,并将常用到的文件进行重组展示,方便开发者查询或定位所需编辑的模块或文件。
工程创建或打开后,默认显示工程视图,如果要切换到Ohos视图,在左上角单击Project > Ohos进行切换。
工程目录结构
ArkTS工程目录结构(Stage模型)
ArkTS Stage模型支持API Version 10及以上版本,其工程目录结构如下图所示:
- AppScope > app.json5:应用的全局配置信息。
- entry:应用/元服务模块,编译构建生成一个HAP。
-
src > main > ets:用于存放ArkTS源码。
-
src > main > ets > entryability:应用/元服务的入口。
-
src > main > ets > pages:应用/元服务包含的页面。
-
src > main > resources:用于存放应用/元服务模块所用到的资源文件,如图形、多媒体、字符串、布局文件等。关于资源文件的详细说明请参考资源分类与访问。
-
src > main > module.json5:Stage模型模块配置文件,主要包含HAP的配置信息、应用在具体设备上的配置信息以- 及应用的全局配置信息。具体请参考module.json5配置文件。
-
build-profile.json5:当前的模块信息、编译信息配置项,包括buildOption、targets配置等。
-
hvigorfile.ts:模块级编译构建任务脚本。
-
oh-package.json5:描述三方包的包名、版本、入口文件(类型声明文件)和依赖项等信息。
-
- oh_modules:用于存放三方库依赖信息,包含应用/元服务所依赖的第三方库文件。
- build-profile.json5:应用级配置信息,包括签名、产品配置等。
- hvigorfile.ts:应用级编译构建任务脚本。
- oh-package.json5:描述全局配置,如:依赖覆盖(overrides)、依赖关系重写(overrideDependencyMap)和参数化配置(parameterFile)等。