鸿蒙应用开发学习|HarmonyOS工程介绍

系列文章目录

第一章 HarmonyOS是什么
第二章 基础环境和开发工具


文章目录

  • 系列文章目录
  • 前言
  • 一、HarmonyOS工程介绍
  • 二、工程目录结构
  • 三、工程目录介绍
    • 1.entry
    • 2.Ability
    • 3.库文件
    • 4.资源文件
    • 5.配置文件
    • 6.pack.info
    • 7.HAR
  • 总结


前言

本文将会给大家梳理 HarmonyOS 源码目录结构,介绍重要目录包含的内容与作用,便于大家在学习开发过程中有全局观,有针对性的研读开发。HarmonyOS 源码文件之多,想要短时间内研读完成是比较困难的。对于我们刚刚学习此操作系统的开发来说,如果一个个目录去研读代码,需要花费大量的时间。


一、HarmonyOS工程介绍

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。只有包含Ability的HAP才能够独立运行。

Ability是应用所具备的能力的抽象,一个应用可以包含一个或多个Ability。Ability分为两种类型:FA(Feature Ability)和PA(Particle Ability)。FA/PA是应用/服务的基本组成单元,能够实现特定的业务功能。FA有UI界面,而PA无UI界面。
在这里插入图片描述

二、工程目录结构

DevEco Studio工程目录结构提供工程视图和HarmonyOS视图。工程创建或打开后,默认显示工程视图
在这里插入图片描述
切换到HarmonyOS视图,在左上角单击Project > Ohos进行切换
在这里插入图片描述

三、工程目录介绍

1.entry

entry:应用主模块。一个App中,对于统一设备类型必须有且只有一个entry类型的HAP,可独立安装运行。
在这里插入图片描述

  • src > main > ets:用于存放ets源码。
  • src > main > ets > MainAbility:应用/服务的入口。
  • src > main > ets > MainAbility > pages:MainAbility包含的页面。
  • src > main > ets > MainAbility > app.ets:承载Ability生命周期。
  • src > main > resources:用于存放应用/服务所用到的资源文件,如图形、多媒体、字符串、布局文件等。
  • src > main > config.json:模块配置文件,主要包含HAP包的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。
  • entry >build-profile.json5:当前的模块信息、编译信息配置项,包括buildOption、targets配置等。
  • entry >hvigorfile.js:模块级编译构建任务脚本。

build-profile.json5:应用级配置信息,包括签名、产品配置等。
hvigorfile.js:应用级编译构建任务脚本。

2.Ability

Ability是应用所具备的能力的抽象,一个应用可以包含一个或多个Ability。Ability分为两种类型:FA(Feature Ability)和PA(Particle Ability)。FA/PA是应用的基本组成单元,能够实现特定的业务功能。FA有UI界面,而PA无UI界面。
在这里插入图片描述

3.库文件

库文件是应用依赖的第三方代码(例如so、jar、bin、har等二进制文件),存放在libs目录。
在这里插入图片描述

4.资源文件

应用的资源文件(字符串、图片、音频等)存放于resources目录下,便于开发者使用和维护
在这里插入图片描述

5.配置文件

配置文件 (config.json) 是应用的Ability信息,用于声明应用的Ability,以及应用所需权限等信息
在这里插入图片描述

6.pack.info

描述应用软件包中每个HAP的属性,由IDE编译生成,应用市场根据该文件进行拆包和HAP的分类存储。HAP的具体属性包括:

  • delivery-with-install:表示该HAP是否支持随应用安装。“true”表示支持随应用安装;“false”表示不支持随应用安装。
  • name:HAP文件名。
  • module-type:模块类型,entry或feature。
  • device-type:表示支持该HAP运行的设备类型。

在这里插入图片描述

7.HAR

HAR(HarmonyOS Ability Resources)可以提供构建应用所需的所有内容,包括源代码、资源文件和config.json文件。HAR不同于HAP,HAR不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。


总结

以上就是今天要讲的内容,本文仅仅简单介绍了HarmonyOS的工程介绍。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【HarmonyOS】小熊派鸿蒙系统搭建

文章目录 一、BearPi-HM Micro 开发板介绍二、Linux镜像下载三、BearPi-HM Micro编译环境配置1.首先添加如下镜像源2.更新镜像源3.安装依赖库及工具4.安装hb5.测试hb是否安装成功 四、安装mkimage工具1.新建tools目录2.下载mkimage.stm32工具到~/tools目录,并复制到…

鸿蒙、OpenHarmony、HarmonyOS傻傻的分不清楚。。。看这篇就够了

很多人对鸿蒙、OpenHarmony、HarmonyOS这些术语傻傻的分不清楚,那么本文就做一些解答。 6月4日,华为发布了《关于规范HarmonyOS沟通口径的通知》(以下简称《通知》),原文在网上都能搜到,这里就不贴了。本人…

OpenHarmony开源鸿蒙与HarmonyOS商业鸿蒙的区别

OpenHarmony开源鸿蒙与HarmonyOS商业鸿蒙的区别 一、本是同根生 最近鸿蒙开发越来越火,特别是因为开源鸿蒙的存在,很多系统开发,直接使用OpenHarmony。 但是初学者很容易把HarmonyOS商业鸿蒙和开源鸿蒙弄混。 首先我们聊一下这两者的关系&a…

【鸿蒙 HarmonyOS】UI 组件 ( Button 组件 )

文章目录 一、布局文件中设置 Button 组件属性二、代码中修改 Button 组件属性三、Button 点击事件四、完整代码示例五、执行结果六、GitHub 地址 一、布局文件中设置 Button 组件属性 Button 组件是在 UI 界面中的按钮组件 , 重要的用户交互接口 ; 布局文件中设置 Button : B…

Android Studio连接Huawei Matepad harmonyOS真机调试

一、开发环境 NO项目说明 1PC开发操作系统Windows10_64bit2Android stuidiov4.23Huawei Metapad 10.4HarmonyOS2.0 备注:PC和移动设备需要在同一wifi下 二、操作Huawei Matepad进入开发者模式 1、设置->关与平板电脑->版本号,双击版本号进入开发者…

鸿蒙应用开发学习路线(OpenHarmony/HarmonyOS)

鸿蒙应用开发学习路线(OpenHarmony/HarmonyOS) HarmonyOS应用开发学习路线网站汇总社区汇总视频学习路线 OpenHarmony应用开发学习路线与资料网站汇总社区汇总学习路线 MarkDown工具推荐 HarmonyOS应用开发学习路线 作者:坚果 团队&#xff1…

鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面

鸿蒙的最新IDE支持可视化开发。几乎不需要编写一行代码,就可以设计非常复杂的界面。当然,如果要实现业务逻辑,还是需要编写代码的。所以我们把这些功能称为低代码开发,也就是说,可以让我们少编写一些代码。 本文将详细…

元宇宙群涉及到技术

元宇宙六大核心技术包括: 1、物联网技术:分为感知层、网络层、应用层; 2、区块链技术:算法及时间戳技术、数据传播及验证技术、共识机制、分布式存储、智能合约、分布式账本等; 3、交互技术:VR虚拟现实技…

元宇宙与ChatGPT结合 一场颠覆式场景革命或将到来?

元宇宙和ChatGPT都是当前数字化领域中非常热门的技术和应用,两者之间也存在一定的关系,结合起来,可以为企业提供更加智能化、个性化的服务和支持,同时也可以拓展企业的市场和品牌影响力,提高企业的效率和创新能力。 元…

阿里上线文本生成视频大模型;微软GitHub引入OpenAI聊天功能;谷歌Bard被指抄袭媒体文章丨每日大事件...

‍ ‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 企业动态 阿里达摩院上线“文本生成视频大模型” 近日,阿里达摩院已在AI模型社区“魔搭”ModelScope上线了“文本生成视频大模型”。根据官方介绍,目前文本生成视频大模型,由文本特征提…

酷开科技智能大屏生态,赋能RISC-V发展

3月2日,由阿里巴巴平头哥举办的首届玄铁RISC-V生态大会在上海举行。英特尔、谷歌、Canonical、Imagination、海尔、支付宝、网易有道、酷开科技等全球数百家企业及机构代表齐聚一堂,成为中国RISC-V发展史上规模最大的一次会议。 RISC-V是基于精简指令集…

认识 微内核架构

微内核架构 1 说明背景 关于宏内核、微内核、混合内核,都是相对而言的概念。 宏内核: 通用的操作系统,将操作系统内核的所有模块放置在内核态运行,具备直接操作硬件的能力。例如 UNIX/Linux, FreeBSD 等微内核: 简单的操作系统,…

一条可以让chatGTP输出图片的指令

一条可以让chatGTP输出图片的指令 接下来我会给你指令,生成相应的图片,我希望你用Markdown语言生成,不要用反引号,不要用代码框,你需要用Unsplash API,遵循以下的格式:https://source.unsplash…

[论文笔记] chatgpt系列 1.1 PPO算法(Proximal Policy Optimization)

Proximal Policy Optimization (PPO) 一、Motivation 避免较多的策略更新。 根据经验,训练期间较小的策略更新更有可能收敛到最优解决方案。在策略更新中,太大的一步可能会导致“掉下悬崖”(得到一个糟糕的策略),并且有很长时间甚至没有可能恢复。 所以在PPO中,我们…

余弦相似度算法

(1) 基于用户的协同过滤算法 基于用户行为数据设计的推荐算法一般称为协同过滤算法。学术界对协同过滤算法 进行了深入研究,提出了很多方法,比如基于邻域的方法(neighborhood-based)、隐语义模型&#xff…

ChatGPT各项能力的起源详解

正文 最近,OpenAI的预训练模型ChatGPT给人工智能领域的研究人员留下了深刻的印象和启发。毫无疑问,它又强又聪明,且跟它说话很好玩,还会写代码。它在多个方面的能力远远超过了自然语言处理研究者们的预期。于是我们自然就有一个问…

1688API接口,获得1688商品分类

点击获取key和secret测试 阿里巴巴中国站获得1688商品分类 API 返回值说明 API返回结果 --- Result Object: --------------------------------------- {"itmes": {"itme": [{"id": 312,"name": "内衣","pid":…

淘宝天猫1688京东商品详情API接口,封装接口可高并发

要提供商品详情数据需要知道具体的商品信息,但通常商品详情数据应包括以下内容: 商品名称:商品的名称,以方便顾客对其进行识别和区分。 商品描述:一段让顾客能够全面认识商品的描述。应能够有效地展示商品的特性、功能…

1688订单API接口

item_get - 获得1688商品详情 详情[API文档]https://open.onebound.cn/help/api/ 测试链接. 响应参数&#xff1a; 请求示例&#xff1a; <?php// 请求示例 url 默认请求参数已经URL编码处理 // 本示例代码未加密secret参数明文传输&#xff0c;若要加密请参考&#x…

1688获取商品api接口

作为一名技术爱好者&#xff0c;我们总会遇到各种各样的技术问题&#xff0c;需要寻找合适的技术解决方案。而在互联网时代&#xff0c;我们可以快速通过搜索引擎获取丰富的技术资源和解决方案。然而&#xff0c;在不同的技术分享中&#xff0c;我们常常会遇到质量参差不齐的文…