第三节HarmonyOS DevEco Studio了解基本工程目录

一、工程级目录

工程的目录结构如下。

目录详情如下:

  1. AppScope:存放应用全局所需要的资源文件。
  2. Entry:应用的主模块,存放HarmonyOS应用的代码、资源等。
  3. oh_modules:工程的依赖包,存放工程依赖的源文件。
  4. build-profile.json5:是工程级配置信息,包括签名、产品配置等。
  5. hvigorfile.ts:是工程级编译构建任务脚本,hvigor是基于任务管理机制实现的一款全新的自动化构建工具,主要提供任务注册编排,工程模型管理、配置管理等核心能力。
  6. oh-package.json5:是工程级依赖配置文件,用于记录引入包的配置信息。
  7. 在AppScope,其中有resources文件夹和配置文件app.json5。

AppScope>resources>base中包含element和media两个文件夹:

  1. 中element文件夹主要存放公共的字符串、布局文件等资源。
  2. media存放全局公共的多媒体资源文件。

二、模块级目录

entry>src目录中主要包含总的main文件夹,单元测试目录ohosTest,以及模块级的配置文件。

  1. main文件夹中,ets文件夹用于存放ets代码;resources文件存储模块内的多媒体及布局文件;module.json5文件为模块的配置文件。
  2. ohosTest是单元测试目录
  3. Build-profile.json5是模块级配置信息,包括编译构建配置项。
  4. hvigorfile.ts文件是模块级构建脚本。
  5. Oh-package.json5是模块级依赖配置信息文件

进入src>main>ets目录中,其分为entryability、pages两个文件夹:

  1. entryability存放ability文件,用于当前ability应用逻辑和生命周期管理。
  2. pages存放UI界面相关代码文件,初始化生成一个index.ets页面

resources目录下存放模块公共的多媒体、字符串及布局文件等资源,分别存放在element、media文件夹中:

app.json5

AppScope>app.json5是应用的全局的配置文件,用于存放应用公共的配置信息。

  • bundleName:包名
  • vendor:应用程序供应商
  • versionCode:用于区分应用版本
  • versionName: 版本号
  • Icon:对应于应用的显示图标
  • label:应用名

module.json5

entry>src>main>module.json5是模块的配置文件,包含当前模块的配置信息。

        其中module对应的是模块的配置信息,一个模块对应一个打包后的hap包,hap包全称是HarmonyOS Ability Package,其中包含了ability、第三方库、资源和配置文件。其具体属性及其描述可以参照下表:

 module.json5默认配置属性及描述:

属性描述
name该标签标识当前module的名字,module打包成hap后,表示hap的名称,标签值采用字符串表示(最大长度31个字节),该名称在整个应用要唯一。
type表示模块的类型,类型有三种,分别是entry、feature和har。
srcEntry当前模块的入口文件路径。
description当前模块的描述信息。
mainElement该标签标识hap的入口ability名称或者extension名称。只有配置为mainElement的ability或者extension才允许在服务中心露出。
deviceTypes该标签标识hap可以运行在哪类设备上,标签值采用字符串数组的表示
deliveryWithInstall标识当前Module是否在用户主动安装的时候安装,表示该Module对应的HAP是否跟随应用一起安装。- true:主动安装时安装。- false:主动安装时不安装。
installationFree标识当前Module是否支持免安装特性。- true:表示支持免安装特性,且符合免安装约束。- false:表示不支持免安装特性。
pages对应的是main_pages.json文件,用于配置ability中用到的page信息。
abilities是一个数组,存放当前模块中所有的ability元能力的配置信息,其中可以有多个ability。

abilities中对象的默认配置属性及描述:

属性描述
name该标签标识当前ability的逻辑名,该名称在整个应用要唯一,标签值采用字符串表示(最大长度127个字节)。
srcEntryability的入口代码路径。
descriptionability的描述信息。
iconability的图标。该标签标识ability图标,标签值为资源文件的索引。该标签可缺省,缺省值为空。如果ability被配置为MainElement,该标签必须配置。
labelability的标签名。
startWindowIcon启动页面的图标。
startWindowBackground启动页面的背景色。
visibleability是否可以被其他应用程序调用,true表示可以被其它应用调用, false表示不可以被其它应用调用。
skills标识能够接收的意图的action值的集合,取值通常为系统预定义
entities标识能够接收的Want的Action值的集合,取值通常为系统预定义的action
actions标识能够接收Want的Entity值的集合。

main_pages.json

src/main/resources/base/profile/main_pages.json文件保存的是页面page的路径配置信息,所有需要进行路由跳转的page页面都要在这里进行配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/193793.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【STM32】GPIO输入

1 GPIO输出 1.1 按键简介 按键:常见的输入设备,按下导通,松手断开 按键抖动:由于按键内部使用的是机械式弹簧片来进行通断的,所以在按下和松手的瞬间会伴随有一连串的抖动 1.2 传感器模块简介 传感器模块&#xff…

【图像分割】【深度学习】PFNet官方Pytorch代码-PFNet网络PM定位模块解析

【图像分割】【深度学习】PFNet官方Pytorch代码-PFNet网络PM定位模块解析 文章目录 【图像分割】【深度学习】PFNet官方Pytorch代码-PFNet网络PM定位模块解析前言PFNet网络简述主干网络定位模块 Positioning Module通道注意力模块 Channel Attention空间注意力模块 Spatial Att…

1-1、汇编语言概述

语雀原文链接 文章目录 1、机器语言2、汇编语言(Assembly Language)汇编语言工作过程汇编语言三类指令 3、学习资料电子PDF课件论坛视频教程 1、机器语言 机器语言是机器指令的集合。机器指令展开来讲就是一台机器可以正确执行的命令。电子计算机的机器…

古埃及金字塔的修建

从理论上说,古埃及人完全有能力设计并建造出充满各种奇妙细节的胡夫金字塔,但后世还是不断涌现出质疑之声,原因倒也简单,那就是胡夫金字塔实在太大了。据推算,整座金字塔使用大约230万块巨石,总质量可达约5…

SpringBoot+Redis编写一个抢红包雨的案例。附源码。

案例演示 SpringBootRedis编写一个抢红包雨的案例。附源码 1、案例分析,整体方案介绍 预备上线一个红包雨活动。这个红包雨的思路是活动开始前25分钟,在后台创建活动。然后前端用户进入,到点后将设置的金额拆分成多个小红包,开启倒…

数据分析实战案例:Python 分析员工为何离职(附完整代码)

大家好,今天给大家介绍一个Python数据分析项目实战,不仅包含代码,还提供分析数据集。 员工流失或是员工离开公司的比率是公司关注的一个重要问题。它不仅会导致宝贵人才的流失,还会产生成本并破坏生产力。了解员工辞职的原因对于…

勒索解密后oracle无法启动故障处理----惜分飞

客户linux平台被勒索病毒加密,其中有oracle数据库.客户联系黑客进行解密【勒索解密oracle失败】,但是数据库无法正常启动,dbv检查数据库文件报错 [oraclehisdb ~]$ dbv filesystem01.dbf DBVERIFY: Release 11.2.0.1.0 - Production on 星期一 11月 27 21:49:17 2023 Copyrig…

01-鸿蒙4.0学习之开发环境搭建 HelloWorld

HarmonyOS开发学习 1.环境配置 1.下载地址 开发工具:DevEco Studio 3.1.1 Release 下载地址 安装选择快捷方式 安装nodejs和Ohpm 安装SDK 选择同意Accept 检测8项目是否安装成功 2.创建项目 —— hello word

echarts实际开发中遇到的问题

当tooltip内容过高时,增加滚动条 enterable:true, extraCssText: height:500px;overflow-y:auto;

【JavaScript】alert的使用方法 | 超详细

alert作用效果 alert&#xff08;&#xff09;方法用于显示带有一条指定消息和一个确认的按钮的警告框。 alert使用方法 方法一&#xff1a;直接写在script标签内 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"&…

【MyBatisPlus】通俗易懂 快速入门 详细教程

目录 学习目标 一、MyBatisPlus简介 1. 入门案例 问题导入 1.1 SpringBoot整合MyBatisPlus入门程序 ①&#xff1a;创建新模块&#xff0c;选择Spring初始化&#xff0c;并配置模块相关基础信息 ②&#xff1a;选择当前模块需要使用的技术集&#xff08;仅保留JDBC&…

SSM实践基地管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 SSM 实践基地管理系统是一套完善的信息系统&#xff0c;结合springMVC框架完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库 &#xff0c;系统主要采用B/…

小白备战蓝桥杯:Java基础语法

一、注释 IDEA注释快捷键&#xff1a;Ctrl / 单行注释&#xff1a; //注释信息 多行注释&#xff1a; /* 注释信息 */ 二、字面量 常用数据&#xff1a;整数、小数、字符串&#xff08;双引号&#xff09;、字符&#xff08;单引号&#xff09;、布尔值&#xff08;tr…

理解Android无埋点技术

首先什么是无埋点呢&#xff0c;其实所谓无埋点就是开发者无需再对追踪点进行埋码&#xff0c;而是脱离代码&#xff0c;只需面对应用界面圈圈点点即可追加随时生效的事件数据点。 无埋点的好处 其实无埋点并不是完全不用写代码&#xff0c;而是尽可能的少写代码。开发者将SDK集…

springboot+vue智能企业设备管理系统05k50

智能设备管理系统主要是为了提高工作人员的工作效率和更方便快捷的满足用户&#xff0c;更好存储所有数据信息及快速方便的检索功能&#xff0c;对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性&#xff0c;遵循开发的系统优化的原则&#xf…

线性分类器--分类模型

记录学习 北京邮电大学计算机学院 鲁鹏 为什么从线性分类器开始&#xff1f;  形式简单、易于理解  通过层级结构&#xff08;神经网络&#xff09;或者高维映射&#xff08;支撑向量机&#xff09;可以 形成功能强大的非线性模型 什么是线性分类器&#xff1f; 线性分…

Linux基础项目开发1:量产工具——程序框架(一)

前言&#xff1a; 前面已经将Linux应用开发基础知识学习完了&#xff0c;现在让我们来做个小项目练练手&#xff0c;对之前的一些知识点进行一个更加具体详细的认识与了解&#xff0c;我们要进行的项目名称为&#xff1a;电子产品量产测试与烧写工具&#xff0c;这是一套软件&a…

Clion+Ubuntu(WSL)+MySQL8.0开发环境搭建

1. 下载 MySQL 源码 访问 MySQL 官方网站&#xff08;MySQL :: Download MySQL Community Server&#xff09;并下载 MySQL 8.0 的源码包&#xff08;mysql-boost-8.0.31.tar.gz&#xff09;。 2. 安装编译依赖 1&#xff09;更换镜像源 参考&#xff1a;Linux Ubuntu 修改…

实在智能荣获36氪消费新势力榜单“优选品牌服务商”

近日&#xff0c;36氪未来消费正式公布「FUTURE 2023」消费新势力名单&#xff0c;实在智能凭借专业的数字化产品力、卓越的服务力和深远的行业影响力&#xff0c;成功入选榜单并获评“优选品牌服务商”。 据悉&#xff0c;此次名单是由36氪未来消费特邀消费领域的行业专家、投…