01. HarmonyOS APP工程结构
HarmonyOS应用发布形态为APP Pack(Application Package,简称APP),它是由一个或多个HAP(HarmonyOS Ability Package)包以及描述APP Pack属性的pack.info文件组成。
一个HAP在工程目录中对应一个Module,它是由代码、资源、第三方库及应用配置文件组成,可以分为Entry和Feature两种类型。
-
Entry:应用的主模块,可独立安装运行。一个App中,对于同一类型的设备,可以包含一个或多个entry类型的HAP,如果同一设备类型包含多个entry模块,需要配置distroFilter分发规则。
-
Feature:应用的动态特性模块。一个APP可以包含一个或多个feature类型的HAP,也可以不含。
HAP是Ability的部署包,HarmonyOS应用代码围绕Ability组件展开,它是由一个或多个Ability组成。Ability分为两种类型:FA(Feature Ability,中文名称:元程序)和PA(Particle Ability,中文名称:元服务)。FA/PA是应用的基本组成单元,能够实现特定的业务功能。FA有UI界面,而PA无UI界面。
02. 不同结构格式切换
DevEco Studio工程目录结构提供工程视图和HarmonyOS视图。工程创建或打开,默认显示工程视图,如果要切换到HarmonyOS视图,在左上角点击Project > Ohos进行切换。
- .gradle:Gradle配置文件,由系统自动生成,一般情况下不需要进行修改。
- entry:默认启动模块(主模块),开发者用于编写源码文件以及开发资源文件的目录。
- entry>libs:用于存放entry模块的依赖文件。
- entry>src>main>Java:用于存放Java源码。
- entry>src>main>resources:用于存放应用所用到的资源文件,如图形、多媒体、字符串、布局文件等。关于资源文件的详细说明请参考资源文件的分类。
- entry>src>main>config.json:应用配置文件,详细说明请参考config.json配置文件介绍。
- entry>src>ohos Test:HarmonyOS应用测试框架,运行在设备模拟器或者真机设备上。
- entry>src>test:编写代码单元测试代码的目录,运行在本地Java虚拟机(JVM)上。
- entry>.gitignore:标识git版本管理需要忽略的文件。
- entry>build.gradle:entry模块的编译配置文件。
>>> 关于资源文件的引用说明: ( 资源类型(type)和资源名称(name))
a. Java引用常规资源: ResourceTable.type_name
Java引用系统资源: ohos.global.systemres.ResourceTable.type_name
b. XML文件引用资源文件的格式: $type:name
XML文件引用系统资源文件的格式: $ohos:type:name
c. element中各类型资源的样例参见官网:
03. 新工程内容说明
04.关于历史工程的适配
a. 自动升级方式
在打开工程前,先点击Help > Check for Updates,检查并升级DevEco Studio至最新版本;点击Files > Settings > SDK Manager > HarmonyOS Legacy SDK,检查并升级SDK及工具链版本至最新版本。
使用DevEco Studio打开历史工程,会提示将历史工程进行升级适配,点击Update,工具会自动修改工程中的配置信息。
b. 手动方式
如果不点击Update自动更新,开发者可以手动更新,并按照以下内容进行修改
05. 导入Git上的例子
3. 选择要下载的Sample 并直接Next, 注册重新设置工程名称及存储位置 (一般不动工程名,位置就按自己的想法来就行)
若配置无效,也是会出现错误的
检测原始内容:文件是存在的