codecamp

鸿蒙OS 应用基础知识

APP

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 界面。

库文件

库文件是应用依赖的第三方代码形式,存放在 libs 目录,是.so文件。

资源文件

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

配置文件

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

pack.info

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

  • delivery-with-install : 用于标识该HAP是否需要在主动安装时进行安装。
  • name :HAP文件名。
  • module-type :模块类型,entry 或 feature。
  • device-type :用于标识支持该 HAP 运行的设备类型。
鸿蒙OS 系统安全
鸿蒙OS 应用配置文件简介
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }