HAR(Harmony Archive)是静态共享包,可以包含代码、C++ 库、资源和配置文件。通过 HAR 可以实现多个模块或多个工程共享 ArkUI 组件、资源等相关代码。HAR 不同于 HAP,不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。
// library 工程里修改 ------------------------------------------
// src/main/ets/components/mainpage/MainPage.ets
export struct AddCom {
......
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(() => {
hilog.info(0x0000, 'testTag', 'Test NAPI 2 + 3 = %{public}d', testNapi.add(this.na, this.nb));
this.na += 1;
this.nb += 2;
this.message = "AddCom = " + testNapi.add(this.na, this.nb);
})
// src/main/ets/components/mainpage/Caculate.ets
import hilog from '@ohos.hilog';
import testNapi from 'liblibrary.so';
export namespace Caculator {
export function add(a: number, b: number) {
hilog.info(0x0000, 'testTag', 'Test NAPI 2 + 3 = %{public}d', testNapi.add(a, b));
return testNapi.add(a, b);
}
}
// Index.ets
export { AddCom } from './src/main/ets/components/mainpage/MainPage'
export { Caculator } from './src/main/ets/components/mainpage/Caculate'
// library 工程里修改 ------------------------------------------
// 主项目里导入
import { AddCom, Caculator } from 'library'
.....
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(() => {
hilog.info(0x0000, 'testTag', 'Test Har 2 + 3 = %{public}d', Caculator.add(this.na, this.nb));
this.na += 10
this.nb += 10
this.message = "2+3=" + Caculator.add(this.na, this.nb)
})
可以利用 OpenHarmony 的 hsp 和 har,包装组件和对应的 NDK 工程,提供给其他应用进行开发和应用。
如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。