# 鸿蒙Har SDK hvigor编译插件 **Repository Path**: GitIpman/harSdkBuildAllTools ## Basic Information - **Project Name**: 鸿蒙Har SDK hvigor编译插件 - **Description**: 编译har sdk,将依赖的本地模块替换为远程模块 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-16 - **Last Updated**: 2025-09-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HarSDK打包插件 harSdkBuildAllTools 插件: - 替换所有模块的本地源码依赖: - 以 `file:` 开头,非 `.har` `.hsp` 结尾的依赖。 - eq: `"@organization/common": "file:../../common",` -> `"@organization/common": "${version}",` - `${version}` 取值传入插件的 version 字段值,如果不传默认取项目版本 `【app.json5->${app.versionName}】` - 建议使用 `DevEco Studio 6.0` 及其以上。 ## 安装 1. 复制包到项目 `根目录/hvigor`,编辑 `hvigor-config.json5` ```json5 { "modelVersion": "5.0.5", "dependencies": { ... "har-sdk-build-plugin": "file:har-sdk-build-plugin-1.3.0.tgz" }, ... } ``` 2. 在跟目录的 `hvigorfile.ts` 中添加插件依赖,并且加入编译 ```ts import { appTasks } from '@ohos/hvigor-ohos-plugin'; import { hvigor } from '@ohos/hvigor'; import { harSdkBuildPlugin } from 'har-sdk-build-plugin'; export default { system: appTasks, plugins: [ harSdkBuildAllTools(hvigor) ] } ``` ## 使用 该插件将会在hvigor中注册以下任务: 1. 【printDepsMap】 : 打印模块依赖拓扑图 2. 【harSdkBuildAll】 : 构建har SDK包 任务 - harSdkBuildAll任务包参数:[coverVersion | cv] [buildMode] [targetModule | tm] - [coverVersion | cv] 是覆盖app.json5中的版本字符串,不传入则按照各个模块的versionName为目标生成版本 - [buildMode] 是编译模式, debug / release 不传入或者传入非法默认按照debug模式进行,表示编译模块的模式 - [targetModule | tm] 是目标模块,可以通过 printDepsMap 查看模块的拓扑依赖,模式是all 全部编译 eq: 1. 首先查询所有模块拓扑图: ```shell hvigor printDepsMap ``` 2. 然后根据需求执行编译任务: 1. debug 编译全部模块: ```shell hvigorw harSdkBuildAll -p cv=1.3.0-beta.0 -p buildMode=debug ``` 2. release 模式编译指定模块: ```shell hvigorw harSdkBuildAll -p cv=1.3.0-rc.0 -p buildMode=release -p targetModule=@organization/targetModule ``` ## 产物 - 插件会在项目根目录下生成 `outputsdk` 目录,目录下每次构建会以 `[目标模块名]_[版本号]_[YYYYMMDD]_[HHmmss]` 命名规则生成产物目录,全部模块名为 `all`。 - 模块名会被目录命名合法化,非数组和字母的符号会被替换为 `_` , `@` 符号不做替换。 - 构建过程中会生成临时目录: `[目标模块名]_[版本号]_building` ,构建完成后重命名。 - 构建过程中,涉及模块的 `oh-package.json5` 文件会被更改,如果需要继续开发,请回滚涉及模块的该文件。