- 工程目录
- AppScope:存放应用全局所需要的资源文件
- base
- element:文件夹主要存放公共的字符串、布局文件等资源
- media:存放全局公共的多媒体资源文件
- app.json5:应用的全局的配置文件,用于存放应用公共的配置信息
{"app": {"bundleName": "com.xiaotie.testapplication",//包名"vendor": "example",//应用程序供应商"versionCode": 1000000,//用于区分应用版本"versionName": "1.0.0",//版本号"icon": "$media:app_icon",//对应于应用的显示图标"label": "$string:app_name"//应用名} }
- base
- entry:应用的主模块,存放HarmonyOS应用的代码、资源等
- src
- ohosTest:单元测试目录
- main
- ets
- entryability:存放ability文件,用于当前ability应用逻辑和生命周期管理
- pages:存放UI界面相关代码文件,初始会生成一个Index页面
- resources
- base
- element:模块公共的字符串资源文件
- media:模块公共的多媒体文件
- profile
- main_pages.json:页面page的路径配置信息,所有需要进行路由跳转的page页面都要在这里进行配置
- en_US
- zh_CN
- rawfile
- base
- module.json5:模块的配置文件,包含当前模块的配置信息
{"module": {"name": "entry",//该标签标识当前module的名字,module打包成hap后,表示hap的名称,标签值采用字符串表示(最大长度31个字节),该名称在整个应用要唯一"type": "entry",//表示模块的类型,类型有三种,分别是entry、feature和har"description": "$string:module_desc",//当前模块的描述信息"mainElement": "EntryAbility",//该标签标识hap的入口ability名称或者extension名称。只有配置为mainElement的ability或者extension才允许在服务中心露出。"deviceTypes": ["phone","tablet"],//该标签标识hap可以运行在哪类设备上,标签值采用字符串数组的表示"deliveryWithInstall": true,//标识当前Module是否在用户主动安装的时候安装,表示该Module对应的HAP是否跟随应用一起安装。- true:主动安装时安装。- false:主动安装时不安装。"installationFree": false,//标识当前Module是否支持免安装特性。- true:表示支持免安装特性,且符合免安装约束。- false:表示不支持免安装特性。"pages": "$profile:main_pages",//对应的是main_pages.json文件,用于配置ability中用到的page信息"abilities": [{"name": "EntryAbility",//该标签标识当前ability的逻辑名,该名称在整个应用要唯一,标签值采用字符串表示(最大长度127个字节)。"srcEntry": "./ets/entryability/EntryAbility.ts",//ability的入口代码路径"description": "$string:EntryAbility_desc",//ability的描述信息"icon": "$media:icon",//ability的图标。该标签标识ability图标,标签值为资源文件的索引。该标签可缺省,缺省值为空。如果ability被配置为MainElement,该标签必须配置。"label": "$string:EntryAbility_label",//ability的标签名。"startWindowIcon": "$media:icon",//启动页面的图标。"startWindowBackground": "$color:start_window_background",//启动页面的背景色。"exported": true,//ability是否可以被其他应用程序调用,true表示可以被其它应用调用, false表示不可以被其它应用调用。"skills": [{"entities": ["entity.system.home"],//标识能够接收Want的Entity值的集合。"actions": ["action.system.home"]//标识能够接收的Want的Action值的集合,取值通常为系统预定义的action值,也允许自定义。}]//标识能够接收的意图的action值的集合,取值通常为系统预定义的action值,也允许自定义。}]//是一个数组,存放当前模块中所有的ability元能力的配置信息,其中可以有多个ability} }
- ets
- build-profile.json5:模块级配置信息,包括编译构建配置项
- hvigorfile.ts:模块级构建脚本
- oh-package.json5:模块级依赖配置信息文件
- src
- oh_modules:工程的依赖包,存放工程依赖的源文件
- build-profile.json5:工程级配置信息,包括签名、产品配置等
- hvigorfile.ts:工程级编译构建任务脚本,hvigor是基于任务管理机制实现的一款全新的自动化构建工具,主要提供任务注册编排,工程模型管理、配置管理等核心能力
- oh-package.json5:工程级依赖配置文件,用于记录引入包的配置信息
- AppScope:存放应用全局所需要的资源文件