鸿蒙 依赖管理:添加依赖项

发布时间:2026/7/16 10:57:09
鸿蒙 依赖管理:添加依赖项 一、配置方式依赖项可在工程级或模块级的oh-package.json5文件中配置支持以下三种方式方式说明远程三方包通过ohpm安装的远程依赖本地模块通过文件夹路径或模块名引用本地模块本地HAR/HSP包通过文件路径引用本地HAR或HSP包依赖字段字段说明dependencies生产依赖编译和运行时都需要devDependencies开发依赖仅开发时需要dynamicDependencies动态依赖仅限于动态依赖HSP的使用场景示例远程三方包{ dependencies: { ohos/lottie: ^2.0.0 } }本地模块两种方式{ dependencies: { // 方式一配置本地文件夹路径 folder: file:../folder, // 方式二配置本地模块名6.0.0 Beta1 moduleA: module:moduleA } }本地HAR/HSP包{ dependencies: { // HAR包 package: file:../package.har, // HSP包release模式生成tgz包 package: file:../package.tgz } }注意依赖设置完成后需要执行ohpm install命令安装依赖包依赖包会存储在对应模块的oh_modules目录下。二、编译行为差异名词说明三方包依赖通过远程三方包和本地HAR/HSP包的方式指定依赖项本地依赖通过本地模块的方式指定依赖项开启bundledDependencies的字节码HAR字节码HAR的build-profile.json5中buildOption/arkOptions下的bundledDependencies字段配置为true行为差异表下表说明不同依赖配置方式在不同编译场景下的行为依赖项配置位置编译HAP编译HSP编译未开启bundledDependencies的字节码HAR编译开启bundledDependencies的字节码HAR源码HAR-三方包依赖devDependencies1121工程级dependencies//33源码HAR-本地依赖devDependencies1121工程级dependencies/121字节码HAR-三方包依赖devDependencies2222工程级dependencies//33HSP-三方包依赖devDependencies1121工程级dependencies/dynamicDependencies////HSP-本地依赖devDependencies1121工程级dependencies/dynamicDependencies/121符号含义符号含义1依赖项仅代码文件参与编译依赖项的自身配置不会参与收集可能造成编译/运行时异常2依赖项没有被收集会导致编译异常3编译正常后续集成时可能会造成运行时异常/编译和运行都正常优化开关从DevEco Studio 5.1.1 Beta1版本开始hvigor-config.json5文件提供ohos.byteCodeHar.integratedOptimization字段{ properties: { ohos.byteCodeHar.integratedOptimization: true } }说明该开关只是优化了依赖收集的逻辑并没有优化依赖项的自身配置收集的逻辑编译字节码HAR且依赖配置在工程级dependencies/dynamicDependencies对应的场景才能完全优化依赖包提供方和集成方都需要配置该字段