Name | Date | Size | ||
---|---|---|---|---|
.. | 25-Oct-2024 | 4 KiB | ||
AppScope/ | H | 25-Oct-2024 | 4 KiB | |
build-profile.json5 | H A D | 25-Oct-2024 | 1.2 KiB | |
entry/ | H | 25-Oct-2024 | 4 KiB | |
hvigor/ | H | 25-Oct-2024 | 4 KiB | |
hvigorfile.ts | H A D | 25-Oct-2024 | 159 | |
hvigorw | H A D | 25-Oct-2024 | 2.1 KiB | |
hvigorw.bat | H A D | 25-Oct-2024 | 2.1 KiB | |
library/ | H | 25-Oct-2024 | 4 KiB | |
oh-package.json5 | H A D | 25-Oct-2024 | 868 | |
ohosTest.md | H A D | 25-Oct-2024 | 1 KiB | |
README_zh.md | H A D | 25-Oct-2024 | 4 KiB | |
screenshots/ | H | 25-Oct-2024 | 4 KiB |
README_zh.md
1# HAR 2 3### 介绍 4 5HAR(Harmony Archive)是静态共享包,可以包含代码、C++库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP,不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。 6 7### 效果预览 8 9| 主页 | 导出ArkUI组件页面 | 导出ts类和方法页面 | 10|----------------------------------|-------------------------------------------|-------------------------------------------| 11|  |  |  | 12| **导出native方法页面** | | | 13|  | | | 14 15使用说明: 16 171.启动HarSample(静态共享包)应用,首页正常显示所引用HAR的ArkUI组件、ts类和方法、native方法、资源。 18 192.点击主页"引用HAR的ArkUI组件"按钮,正确引用HAR的ArkUI组件,跳转至HAR的MainPage页面,页面显示内容为:暂无内容。 20 213.点击主页"引用HAR的ts类和方法"按钮,正确引用HAR导出的ts类和方法,页面Hello World字段变更为func return: har func。 22 234.点击主页"引用HAR导出的native方法"按钮,正确引用HAR导出的native方法,页面Hello World字段变更为result: 3。 24 25### 工程目录 26``` 27entry/src/main/ets/ 28|---entryability 29| └---EntryAbility.ts 30|---logger 31| └---Logger.ts // 日志工具 32└---pages 33 |---Index.ets // 首页 34 └---IndexSec.ets // 引用HAR的ArkUI组件的页面 35library 36|---src 37| └---main 38| |---cpp 39| | |---types 40| | |---CMakeLists.txt 41| | └---hello.cpp 42| |---ets 43| | |---components 44| | | └---MyTitleBar.ets // ArkUI组件页面 45| | └---utils 46| | └---nativeTest.ts // native方法页面 47| |---resources // 资源文件 48| |---ts 49| | └---tset.ts // ts类和方法页面 50| └---module.json5 51|---index.ets 52└---oh-package.json5 53``` 54 55### 具体实现 56 57* 本示例为HarSample(静态共享包)应用,提供导出及引用HAR的ArkUI组件、接口、资源功能: 58 * 导出HAR的ArkUI组件、接口、资源 59 * Index.ets文件是HAR导出声明文件的入口,HAR需要导出的接口,统一在Index.ets文件中导出。Index.ets文件是DevEco Studio默认自动生成的,用户也可以自定义,在模块的oh-package.json5文件中的main字段配置入口声明文件。源码链接:[Index.ets](library/index.ets),[oh-package.json5](library/oh-package.json5) 60 * HAR中MainPage.ets文件的ArkUI组件,源码链接:[MainPage.ets](library/src/main/ets/components/mainpage/MainPage.ets) 61 * HAR中test.ets文件的ts类和方法,源码链接:[test.ets](library/src/main/ts/test.ets) 62 * HAR中可以包含C++编写的so,so中的native方法,HAR通过import方式导出,nativeTest.ts文件导出liblibrary.so的加法接口add,链接: [nativeTest.ts](library/src/main/ets/utils/nativeTest.ts) 63 * 引用HAR的ArkUI组件、接口、资源 64 * 在使用方中,引用HAR的ArkUI组件、接口、资源及 页面路由跳转,源码链接:[Index.ets](entry/src/main/ets/pages/Index.ets),[IndexSec.ets](entry/src/main/ets/pages/IndexSec.ets) 65 66 67### 相关权限 68 69不涉及。 70 71### 依赖 72 73不涉及。 74 75### 约束与限制 76 771.本示例仅支持标准系统上运行,支持设备:RK3568。 78 792.本示例为Stage模型,支持API11版本SDK,SDK版本号(API Version 11 Canary1)。 80 813.本示例需要使用DevEco Studio版本号(3.1 Release)及以上版本才可编译运行。 82 83### 下载 84 85如需单独下载本工程,执行如下命令: 86 87``` 88git init 89git config core.sparsecheckout true 90echo code/DocsSample/BundleManagerDocsSample/HarSample/ > .git/info/sparse-checkout 91git remote add origin https://gitee.com/openharmony/applications_app_samples.git 92git pull origin master 93``` 94