赞
踩
最近跟着3.6 HAR | 3.6 HAR | EBG2021CCHW1100031 课程页面 | Huawei iLearningX学习了鸿蒙开发基础,做了一下笔记。
HarmonyOS 的应用软件包以APP Pack, 有一个或多个HAP 以及描述每个HAP数学的pack.info组成。HAP是Abilities的部署包,代码围绕Ability组件展开。
- 应用能力的抽象,一个应用包含一个或多个Ability。两种类型:FA和PA,是应用的基本单元,实现特定功能,FA有UI,PA无UI。(欸,是不是很像前端和后端啊)
- 库文件是应用的第三方代码。
- 配置文件包含Ability的配置信息,用于声明Ability,应用所需权限等。
HAR全名HarmonyOS Ability Resources,提供构建文件所需内容,包括源代码、资源文件、和config.json 文件。不同于HAP,不能独立安装运行,只能被引用。
放在resourece目录下,便于开发者实用和维护。包括base目录和限定词目录。
由表征应用场景或设备特征的限定词组合,包括语言,文字,国家或地区,横竖屏,设备类型和屏幕密度六个维度。限定词之间通过下划线或者中划线“-” 连接。
限定词目录下包含限定词文件,分为三类,element,media,animation(动画资源)。
每个HAP根目录下存在一个“config.json” 配置文件。主要内容:
由 app、deviceConfig、module 三个部分组成。
包含应用的全局配置信息。
包含具体设备上的应用配置信息,可以包含以下图中的属性。
包含HAP包的配置信息。
HAP发布的具体描述。
表示基于JS UI开发的JS模块集合
表示接收Ability能够接收的Intent的特征。
表示服务卡片的属性。
如果应用模块中调用了HAR,在编译构建HAP时,需将HAP的config.json 文件与一个或多个HAR的config.json 文件,合并为一个config.json 文件。在合并过程中,不同文件的同一个标签的取值可能发生冲突,此时,需要通过配置mergeRule 来解决冲突。
Module 是 HarmonyOS 应用的基本功能单元,包含源代码、资源文件、第三方库及应用清单文件,每一个Module都可以独立进行编译和运行。一个应用通常包含一个或多个Module,Module分Ability和Library(HarmonyOS Library 和 Java Library)两种类型。
借助Gradle 提供的Mave-publish 插件,可以将Har包发布到本地或远程Maven 仓,方法如下:
- 在工程根目录下,New > File,创建一个以 .grdale 结尾的文件。
- 在创建的grdle文件中添加代码。
- 在Har模块的build.grdle 中,添加HAR发布脚本,添加完成后,请点击Sync Now进行同步。
- 同步完成后,在Gradle任务中添加publishing 的任务列表,并执行pulishMavenPublicationToMavenRepository 任务,将HAR包发布到指定的Maven地址。
在应用模块调用HAR,常用的添加依赖的方式有两种:
调用同一个工程中的HAR:HAR包和应用模块在同一个工程,打开应用模块的build.gradle文 件,在dependencies闭包中,添加如下代码。添加完成后,请点击Sync Now同步工程。
dependencies {
implementation project(":mylibrary")
}
调用Maven仓中的HAR:无论Har包是本地Maven仓还是远程Maven仓,均可以在工程的 build.gradle的allprojects闭包中,添加HAR所在的Maven仓地址。
repositories {
maven {
url 'file://D:/01.localMaven/' }}
爱护肠胃吧,本来能早点写完的,但是因为肠胃一直拖着。。。。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。