HarmonyOS 鸿蒙Next中如何将项目打包为 SDK?

HarmonyOS 鸿蒙Next中如何将项目打包为 SDK? HarmonyOS 如何将项目打包为 SDK ,烦请提供完整流程

3 回复

【解决方案】

HarmonyOS中如果需要将项目打包成给其他项目使用的SDK需要编译为HAR包,用于给外部提供SDK。

一、首先创建HAR和构建HAR包,参考HAR包的构建

二、打包出的HAR包可以通过从仓库进行安装、从本地文件夹和本地压缩包中进行安装三种方式,参考引用及管理共享包

三、如果需要上传到仓库,但是又不想公开自己的HAR包可以通过ohpm-repo搭建个人私仓,参考ohpm-repo私仓搭建工具

更多关于HarmonyOS 鸿蒙Next中如何将项目打包为 SDK?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,将项目打包为SDK需使用DevEco Studio。首先,在项目中创建HAR(Harmony Archive)模块,该模块类型专门用于生成SDK。在模块的oh-package.json5文件中配置正确的名称、版本等元数据。开发完成后,通过IDE的构建功能直接生成HAR包,此包即为可发布的SDK。

在HarmonyOS Next中,将项目打包为SDK的核心流程是使用HAR(Harmony Archive)。以下是关键步骤:

  1. 配置模块类型:在项目的module.json5文件中,将"type"字段设置为"har"

    {
      "module": {
        "name": "your_har_name",
        "type": "har",
        // ... 其他配置
      }
    }
    
  2. 定义API接口:在模块内创建.d.ts声明文件(通常置于ets目录下,如api文件夹),用于描述对外暴露的接口、类、方法等。这是HAR对外提供能力的契约。

    // 例如:ets/api/MyAbility.d.ts
    export declare function myFunction(): void;
    export declare class MyClass {
      // ...
    }
    
  3. 配置API导出:在oh-package.json5文件中,通过"main"字段指定入口声明文件,并在"types"字段中配置API声明文件的路径。

    {
      "main": "index.ets",
      "types": "./ets/api/index.d.ts"
    }
    
  4. 构建HAR包:在DevEco Studio中,选中HAR模块,通过菜单栏的Build > Build HAP(s)/HAR(s) > Build HAR(s) 进行编译打包。成功后会生成.har文件(位于build/default/outputs/default/目录下)。

  5. 使用HAR:在其他应用中,将生成的.har文件放入项目的libs目录,并在需要使用该模块的oh-package.json5文件中添加依赖引用。

    "dependencies": {
      "your_har_name": "file:../libs/your_har_name.har"
    }
    

关键注意事项

  • HAR模块不支持包含EntryFeature类型的Ability,通常用于封装公共能力、工具库或UI组件。
  • 确保.d.ts声明文件准确完整,这是外部模块调用HAR功能的唯一依据。
  • 打包前需充分测试HAR模块的功能,确保其独立性和兼容性。

通过以上步骤,即可将HarmonyOS Next项目中的特定模块打包为可复用的SDK(HAR包),供其他应用集成。

回到顶部