目录先容
.hvigor和.idea
ide配置文件
AppScope
该目录中存放应用全局所需要的资源文件。
entry
应用的主模块,存放HarmonyOS应用的代码、资源文件(也就是静态文件)等
oh_modules
工程的依赖包,存放工程依赖的源文件。可以明白成node_modules
build-profile.json5
工程级配置信息,包括署名、产品配置等。可以简朴明白为后续打包发布需要的一些配置
hvigorfile.ts
工程级编译构建任务脚本,hvigor是基于任务管理机制实现的一款全新的自动化构建工具,主要提供任务注册编排,工程模型管理、配置管理等核心本领
oh-package.json5
工程级依赖配置文件,用于纪录引入包的配置信息。
entry 模块目录阐明
entry>src目录中主要包罗总的main文件夹,单元测试目录ohosTest,以及模块级的配置文件
.preview和build
预览和真机模拟时天生的目录,如果没有进行预览大概真机模拟则没有,一般不需要管理
src
项目源码目录
src>main
项目入口目录
src>main>ets
ets代码大概项目代码
src>main>ets>entryability
存放ability文件,用于当前ability应用逻辑和生命周期管理
src>main>ets>pages
存放UI界面相关代码文件,初始会天生一个Index页面
src>main>resources
静态资源
entry>src>main>module.json5
模块的配置文件,包罗当前模块的配置信息
- {
- "module": {
- // 该标签标识当前module的名字,module打包成hap后,表示hap的名称,标签值采用字符串表示(最大长度31个字节),该名称在整个应用要唯一
- "name": "entry",
- // 表示模块的类型,类型有三种,分别是entry、feature和har。
- "type": "entry",
- // 描述
- "description": "$string:module_desc",
- // 该标签标识hap的入口ability名称或者extension名称。只有配置为mainElement的ability或者extension才允许在服务中心露出
- "mainElement": "EntryAbility",
- // 该标签标识hap可以运行在哪类设备上,标签值采用字符串数组的表示。
- "deviceTypes": [
- "phone",
- "tablet"
- ],
- // 标识当前Module是否在用户主动安装的时候安装,表示该Module对应的HAP是否跟随应用一起安装。- true:主动安装时安装。- false:主动安装时不安装
- "deliveryWithInstall": true,
- // 标识当前Module是否支持免安装特性。- true:表示支持免安装特性,且符合免安装约束。- false:表示不支持免安装特性
- "installationFree": false,
- // 对应的是main_pages.json文件,用于配置ability中用到的page信息。 可以理解为路由表,按住command点击可以进入
- "pages": "$profile:main_pages",
- // 存放当前模块中所有的ability元能力的配置信息,其中可以有多个ability
- "abilities": [
- {
- // 该标签标识当前ability的逻辑名,该名称在整个应用要唯一,标签值采用字符串表示(最大长度127个字节)
- "srcEntry": "./ets/entryability/EntryAbility.ts",
- // 描述,
- // ability的入口代码路径。,
- "name": "EntryAbility",
- "description": "$string:EntryAbility_desc",
- // ability的图标。该标签标识ability图标,标签值为资源文件的索引。该标签可缺省,缺省值为空。如果ability被配置为MainElement,该标签必须配置
- "icon": "$media:icon",
- // ability的标签名。
- "label": "$string:EntryAbility_label",
- // 启动页面的图标。
- "startWindowIcon": "$media:icon",
- // 启动页面的背景色。
- "startWindowBackground": "$color:start_window_background",
- "exported": true,
- // 标识能够接收的意图的action值的集合,取值通常为系统预定义的action值,也允许自定义。
- "skills": [
- {
- "entities": [
- "entity.system.home"
- ],
- "actions": [
- "action.system.home"
- ]
- }
- ]
- }
- ]
- }
- }
-
复制代码 build-profile.json5
模块级配置信息,包括编译构建配置项
hvigorfile.ts
该文件是模块级构建脚本
oh-package.json5
模块级依赖配置信息文件
ohosTest
单元测试目录,用来对代码进行单元测试。新手可以直接删除,低落明白难度
HAP、HAR、HSP
HAP包可以独立安装和运行,是应用安装的基本单元,一个应用中可以包罗一个或多个HAP包
HAR、HSP 是 Library 范例的 Module,主要用于用于实现代码和资源的共享
HAR与HSP两种共享包的主要区别体如今:
共享包范例编译和运行方式发布和引用方式HARHAR中的代码和资源跟随使用方编译,如果有多个使用方,它们的编译产物中会存在多份雷同拷贝。注意:编译HAR时,发起开启混淆本领,保护代码资产。HAR除了支持应用内引用,还可以独立打包发布,供其他应用引用。HSPHSP中的代码和资源可以独立编译,运行时在一个进程中代码也只会存在一份。HSP一般随应用进行打包,当前支持应用内和集成态HSP。应用内HSP只支持应用内引用,集成态HSP支持发布到ohpm私仓和跨应用引用。 HAR(静态共享包)不支持在装备上单独安装/运行,只能作为应用模块的依赖项被引用。
HSP(动态共享包)不支持独立发布,而是跟随其宿主应用的APP包一起发布,与宿主应用同进程,具有雷同的包名和生命周期。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |