工程管理介绍 原创

小_铁
发布于 2025-2-23 10:30
浏览
0收藏

工程介绍

APP包结构

在进行应用/元服务开发前,开发者应该掌握应用/元服务的逻辑结构。

应用/元服务发布形态为APP Pack(Application Package),它是由一个或多个HAP包以及描述APP Pack属性的pack.info文件组成。

一个HAP在工程目录中对应一个Module,它是由代码、资源、三方库及应用/元服务配置文件组成,HAP可以分为Entry和Feature两种类型。

  • Entry:应用的主模块,作为应用的入口,提供了应用的基础功能。
  • Feature:应用的动态特性模块,作为应用能力的扩展,可以根据用户的需求和设备类型进行选择性安装。

切换工程视图*

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: 用于存放应用/元服务模块所用到的资源文件,如图形、多媒体、字符串、布局文件等

资源目录

资源文件说明

base>element

包括字符串、整型数、颜色、样式等资源的json文件。每个资源均由json格式进行定义,例如:- boolean.json:布尔型

  • color.json:颜色
  • float.json:浮点型
  • intarray.json:整型数组
  • integer.json:整型
  • pattern.json:样式
  • plural.json:复数形式
  • strarray.json:字符串数组
  • string.json:字符串值 | | base>media | 多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png.gif.mp3.mp4等。 | | rawfile | 用于存储任意格式的原始资源文件。rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用。 |
  • src > main > module.json5:Stage模型模块配置文件,主要包含HAP的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息
  • build-profile.json5:当前的模块信息、编译信息配置项,包括buildOption、targets配置等。
  • hvigorfile.ts:模块级编译构建任务脚本。
  • oh-package.json5:描述三方包的包名、版本、入口文件(类型声明文件)和依赖项等信息。
  • oh_modules:用于存放三方库依赖信息,包含应用/元服务所依赖的第三方库文件。
  • build-profile.json5:应用级配置信息,包括签名、产品配置等。
  • hvigorfile.ts:应用级编译构建任务脚本。
  • oh-package.json5:描述全局配置,如:依赖覆盖(overrides)、依赖关系重写(overrideDependencyMap)和参数化配置(parameterFile)等。 DevEco Studio支持多种品类的应用/元服务开发,预置丰富的工程模板,可以根据工程向导轻松创建适应于各类设备的工程,并自动生成对应的代码和资源模板。同时,DevEco Studio还提供了多种编程语言供开发者进行应用/元服务开发,包括ArkTS、JS和C/C++。

工程模板介绍

工程管理介绍-鸿蒙开发者社区

工程模板支持的开发语言及模板说明如下表所示:

模板名称

说明

Empty Ability

用于Phone、Tablet、2in1、Car设备的模板,展示基础的Hello World功能。

Native C++

用于Phone、Tablet、2in1、Car设备的模板,作为应用调用C++代码的示例工程,界面显示“Hello World”。

[CloudDev]Empty Ability

端云一体化开发通用模板

[Lite]Empty Ability

用于Lite Wearable设备的模板,展示了基础的Hello World功能。可基于此模板,修改设备类型及RuntimeOS,进行小型嵌入式设备开发。

Flexible Layout Ability

用于创建跨设备应用开发的三层工程结构模板。三层工程结构包含common(公共能力层)、features(基础特性层)、products(产品定制层)。

Embeddable Ability

用于开发支持被其他应用嵌入式运行的元服务的工程模板。


创建一个新的工程

说明

在运行DevEco Studio工程时,建议每一个运行窗口有2GB以上的可用内存空间。

创建和配置新工程

DevEco Studio提供了基础的工程模板资源,不同模板支持的设备类型、API Version可能不同,在创建新工程前,请提前了解各模板的相关信息

创建HarmonyOS工程

  1. 通过如下两种方式,打开工程创建向导界面。
  • 如果当前未打开任何工程,可以在DevEco Studio的欢迎页,选择Create Project开始创建一个新工程。
  • 如果已经打开了工程,可以在菜单栏选择File > New > Create Project来创建一个新工程。
  1. 根据工程创建向导,选择创建Application或再选择需要的Ability工程模板,然后单击Next
    说明
  • 从API 11版本开始支持Atomic Service元服务工程开发。
  • Atomic Service元服务工程暂不支持Native开发。
  1. 在工程配置页面,需要根据向导配置工程的基本信息。
  • Project name:工程的名称,可以自定义,由大小写字母、数字和下划线组成。
  • Bundle name:标识应用的包名,用于标识应用的唯一性。
    说明
    应用包名要求:
  • 必须为以点号(.)分隔的字符串,且至少包含三段,每段中仅允许使用英文字母、数字、下划线(_),如“com.example.myapplication ”。
  • 首段以英文字母开头,非首段以数字或英文字母开头,每一段以数字或者英文字母结尾,如“com.01example.myapplication”。
  • 不允许多个点号(.)连续出现,如“com.example..myapplication ”。
  • 长度为7~128个字符。
  • Save location:工程文件本地存储路径,由大小写字母、数字和下划线等组成,不能包含中文字符。
  • Compatible SDK:兼容的最低API Version。
  • Module name: 模块的名称。
  • Device type:该工程模板支持的设备类型。
  1. 单击Finish,工具会自动生成示例代码和相关资源,等待工程创建完成。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
收藏
回复
举报
回复
    相关推荐