用户应用程序

用户应用程序泛指运行在设备的操作系统之上,为用户提供特定服务的程序,简称“应用”。
在HarmonyOS上运行的应用,有两种形态:

  • 传统方式的需要安装的应用。
  • 提供特定功能,免安装的应用(即原子化服务)。

用户应用程序包结构

HarmonyOS的用户应用程序包以APP Pack(Application Package)形式发布,它是由一个或多个HAP(HarmonyOS Ability Package)以及描述每个HAP属性的pack.info组成。HAP是Ability的部署包,HarmonyOS应用代码围绕Ability组件展开。
一个HAP是由代码、资源、第三方库及应用配置文件组成的模块包可分为entry和feature两种模块类型,如图1所示。

  • entry:应用的主模块。一个APP中,对于同一设备类型必须有且只有一个entry类型的HAP,可独立安装运行。
  • feature:应用的动态特性模块。一个APP可以包含一个或多个feature类型的HAP,也可以不含。只有包含Ability的HAP才能够独立运行。
    图1 APP逻辑视图

Ability

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

库文件

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

资源文件

应用的资源文件(字符串、图片、音频等)存放于resources目录下,便于开发者使用和维护,详见资源文件的分类。

配置文件

配置文件 (config.json) 是应用的Ability信息,用于声明应用的Ability,以及应用所需权限等信息,详见应用配置文件。

pack.info

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

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

HAR

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

HarmonyOS学习路之开发基础知识——应用基础知识相关推荐

  1. HarmonyOS学习路之开发篇——Ability

    Ability Ability概述 Ability是应用所具备能力的抽象,也是应用程序的重要组成部分.一个应用可以具备多种能力(即可以包含多个Ability),HarmonyOS支持应用以Abilit ...

  2. HarmonyOS学习路之开发篇——线程管理

    什么是线程管理 不同应用在各自独立的进程中运行.当应用以任何形式启动时,系统为其创建进程,该进程将持续运行.当进程完成当前任务处于等待状态,且系统资源不足时,系统自动回收. 在启动应用时,系统会为该应 ...

  3. 通过TMS320F28335学习DSP的开发流程——28335的基础知识(2)

    1.创建工程模板--CCS6 一个完整的基础工程有哪些文件所构成呢? ①首先需要仿真调试或者flash烧写所需的.cmd文件和DSP的BIOS或nonBIOS .cmd文件. ②其次需要我们使用的芯片 ...

  4. HarmonyOS学习路之HarmonyOS 概述

    HarmonyOS 概述 系统定义 系统定位 系统架构 内核层 系统服务层 框架层 应用层 技术特性 硬件互助,资源共享 分布式设备虚拟化 分布式数据管理 分布式任务调度 一次开发,多端部署 统一OS ...

  5. Python快速编程入门#学习笔记01# |第一章 :Python基础知识 (Python发展历程、常见的开发工具、import模块导入)

    全文目录 ==先导知识== 1 认识Python 1.1.1 Python的发展历程 1.1.2 Python语言的特点 2. Python解释器的安装与Python程序运行 1.2.1 安装Pyth ...

  6. 零基础怎么学习web前端开发

    零基础怎么学习web前端开发?web前端在移动互联网行业的运用是非常广泛的,而且web前端开发技术所涵盖的知识有很多,具体要怎么学习,来看看小编下面的详细介绍吧. 零基础怎么学习web前端开发?对零基 ...

  7. 零基础学习大数据开发需要多久能工作?

    IT行业是最近10年的热点,那么IT行业中的热点又是谁呢?在当今的互联网时代相信没有哪个行业能够出ABC左右,所谓的ABC就是AI + Big Data + Cloud. 当然,这三者中大数据的影响力 ...

  8. BigData:大数据开发的简介、核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS、HBase、Hive}+Docker)、经典场景应用之详细攻略

    BigData:大数据开发的简介.核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS.HBase.Hive}+Docker).经典场景应用之详细攻略 BigData:大数 ...

  9. 学习3D游戏开发进阶之路

    笔者从事IT行业15年了,一直奋斗在一线编程,从普通程序员逐步成长到上市公司技术总监,目前在创业公司担任技术合伙人,主要负责公司整个项目团队的技术管理.在网上或者论坛上很多同学请教过我关于如何学习3D ...

最新文章

  1. 实验1 查看CPU和内存、用机器指令和汇编指令编程
  2. memcpy的使用方法总结
  3. C++ Primer 5th笔记(chap 19 特殊工具与技术)type_info 类
  4. SocketServer源码学习(二)
  5. nginx的内存管理
  6. html重置css样式,css样式重置 移动端适配
  7. rbd feature
  8. 拒绝精神内耗,5个适合中年人的自学网站,让你脱胎换骨
  9. nginx根据post请求体内容转发
  10. Beautiful爬取海词网词汇意思和短语
  11. 【数据结构】AVL树(高度平衡的二叉搜索树)
  12. OpenCV视频篇——颜色跟踪
  13. 前端:JavaScript (五)XML DOM
  14. ASM算法原理及实现过程
  15. node-inspector调试node程序
  16. Ngnix Rtmp详解
  17. R语言多元Copula GARCH 模型时间序列预测
  18. win10 OBS怎么用集成显卡运行 如何选择显卡 为什么OBS显示器捕获黑屏 为什么右键切换显卡不起作用 为什么用图形处理器运行选择了集成图形但还是N卡
  19. 马斯克因晚9点无人加班发火/ 微信上线刷掌支付/ 张锋新公司融资2亿美元…今日更多新鲜事在此...
  20. 字符串常用操作函数一

热门文章

  1. ubuntu 更改桌面路径
  2. 中国象棋程序的设计与实现(九)–棋子点,棋子的小窝 中国象棋程序的设计与实现(八)-如何构造一个棋子(車馬炮等)...
  3. 倒手一套房,还贷款后落地400万!我打算离开上海了~
  4. 研究生初学者——如何阅读论文
  5. 第十二章 WEB渗透
  6. 程序语言中花括号写法——手写or手敲代码
  7. 马:ma一个与代码无关的隐形眼镜的度数换算
  8. LTE射频测试中的NS
  9. SkeyeVSS实现消防安全通道智能识别监控解决方案
  10. Acer v5-573G笔记本拆键帽改dvorak教程