鸿蒙系统学习二-应用组成结构

学过 Android的伙伴们学习鸿蒙时会有一些优势,基本结构都差不多,后面在学习的过程中我会用Android的结构和鸿蒙两者相对比,加深印象。

APP基本组成

HarmonyOS由APP Pack、Ability、库文件、资源文件、配置文件、pack.info几个组成。

对比于Android应用组成:
src文件:项目源文件存放
R.java文件:eclipse自动生成,无需修改
Android Library:为应用运行的Android库
assets目录:主要放置多媒体文件
res目录:放置应用会用到的资源文件
drawable目录:放置应用程序会用到的图片 layout目录:放置用到的布局文件(XML格式)
value目录:主要放置字符串,颜色,数组(strings.xml; colors.xml; arrays.xml)
Androidmanifest.xml:相当于应用的配置文件

APP Pack

它是由一 个或多个 HAP(HarmonyOS Ability Package)以及描述每个 HAP 属性的 pack.info 组 成。HAP 是 Ability 的部署包,一个 HAP 是由代码、资源、第三方库及应用配置文件组成的模块包,可分为 entry 和 feature 两种模块类型。
其中entry为应用的主模块,一个 APP 中,对于同一设备类型必须有且只有一个 entry 类型的 HAP,可独立安装运行。
而feature是应用的动态特性模块。一个 APP 可以包含一个或多个 feature 类型的 HAP,也
可以不含。只有包含 Ability 的 HAP 才能够独立运行。
在这里插入图片描述

Ability

对比于Android,相当于activity和service。分为FA(Feature Ability)和 PA(Particle Ability)。FA/PA 是应用的基本组成 单元,能够实现特定的业务功能。FA 有 UI 界面,而 PA 无 UI 界面。

库文件

与Android定义基本一致,都是应用依赖的第三方代码形式,是.so 文件,Android还有jar格式,都存放在 libs 目录。

配置文件

Android的配置文件是Androidmanifest.xml,而鸿蒙的配置文件是config.json,Android是配置四大组件信息以及权限,鸿蒙相对应是配置应用的 Ability 信息以及应用所需 权限等信息。

pack.info

Android没有与之对应,它用于描述应用中 HAP 的属性,由 IDE 编译生成,应用市场根据该文件进行拆包和 HAP 的分类存储。HAP 的具体属性包括:
• delivery-with-install: 用于标识该 HAP 是否需要在主动安装时进行安装。
• name:HAP 文件名。
• module-type:模块类型,entry 或 feature。
• device-type:用于标识支持该 HAP 运行的设备类型。

鸿蒙应用基本组成大概就是这些,后面就深入了解一下组成部分。

应用配置文件(config.json)

这个配置存放与HAP 的根目录,“config.json”由“app”、“deviceConfig”和“module”三个部分组成,缺一不可。
app:表示应用的全局配置信息。同一个应用的不同HAP包的“app”配置必须保持一致。

  "app": {
    "bundleName": "com.aos.learning",   //应用包名PackageName,必需
    "vendor": "aos",                    //对应用开发厂商的描述,可不填
    "version": {                        //版本。必填
      "code": 1,                        //版本号
      "name": "1.0"                     //版本名,API 5及更早版本:推荐使用三段式,格式为A.B.C(也兼容A.B),其中A、B、C取值为0~999范围内的整数,API 6版本起:推荐采用四段式数字版本号,如A.B.C.D,其中A、B、C取值为0~99范围内的整数,D取值为0~999范围内的整数。
    },
    "apiVersion": {                     //表示应用依赖的HarmonyOS的API版本。必填
      "compatible": 3,                  //最小版本,必填
      "target": 3                       //API目标版本,可缺省,缺省值为应用所在设备的当前API版本。
       "releaseType": "Beta1"  //表示应用运行需要的API目标版本的类型。取值为“CanaryN”、“BetaN”或者“Release”,其中,N代表大于零的整数。Canary:受限发布的版本。Beta:公开发布的Beta版本。Release:公开发布的正式版本。可缺省,缺省值为“Release”。
    }
  }

deviceConfig:表示应用在具体设备上的配置信息,可以包含default、phone、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值