首页 > 科技视界 > 科技视界 > 鸿蒙开发实战 - 对鸿蒙开发程序包 HAP、HAR 以及 HSP 的简要理解

鸿蒙开发实战 - 对鸿蒙开发程序包 HAP、HAR 以及 HSP 的简要理解

发布时间:2024-07-26 22:46:36来源: 15210273549

备注:在看文档的时候,一定要注意是 HarmonyOS 还是 OpenHarmony。因为两者使用的 SDK 是不同的。


这里不对此展开详细的说明,只对 HAR 和 HSP 说下自己的理解,相比较于 HAP,他们都不能单独运行到设备上。他们两个的区别主要有两方面,一个是 HAR 不支持声明 Pages 页面,另一个是 HSP 的发布需要确保版本号和宿主程序保持一致。

在日常使用场景中,我们要依据实际业务来创建使用 HAR 还是 HSP,对于单 HAP 来说,两者在选择上其实都可以,但对于多 HAP 的业务,因为在打包时,HAR 会被编译打包到所有依赖该文件的 HAP 和 HSP 包当中,这就需要平衡两者之间的选择。


针对第一个区别,我们不能够通过 pushUrl 的方式进行页面跳转,但鸿蒙还提供了另外的方式,通过路由命名跳转到指定页面。比如下面我们命名当前页面路由为 myPage


那么我们就可以通过下面的方式进行跳转:

router.pushNamedRoute({ name: 'myPage' })
如果在跳转的时候把当前组件卸载,我们可以用

router.replaceNamedRoute({ name: 'myPage' })
在跳转的同时我们可以进行数据传递:

router.pushNamedRoute({
  name: 'myPage',
  params: {
    data1: 'message',
    data2: {
      data3: [123, 456, 789]
    }
  }
})
在 myPage 页面进行数据获取:

router.getParams();
上面所说这些,主要是针对公司内部自有业务开发场景来说的,如果你现在封装了一个功能,希望提供给所有可能使用到该三方库的开发者,应该选择哪种方式呢?上面所说的第二点区别其实已经给出了答案,最优解是选择 HAR 包,同时 HAR 包可以发布到 OHPM 私仓或者中心仓供其他应用使用,在发布到中心仓时最好开启代码混淆,以此来保证代码安全。

在 HAR 模块的 build-profile.json5 文件中的 ruleOptions 字段下的 enable 进行设置,配置如下所示:

"buildOptionSet": [
    {
      "name": "release",
      "arkOptions": {
        "obfuscation": {
          "ruleOptions": {
            "enable": true,
            "files": [
              "./obfuscation-rules.txt"
            ]
          },
          "consumerFiles": [
            "./consumer-rules.txt"
          ]
        }
      },
    },
  ]
这样在构建 HAR 的时候,就会对代码进行编译、混淆及压缩处理。

以上就是对鸿蒙程序包区别和使用场景的一个简要概述,因为本身也是在学习过程,避免不了存在一些理解上的出入,还望给与指正,一起交流学习,感谢。

 

科技视界更多>>

宝马电动M3将提供多款经典发动机模拟声浪 可切换V8与V10音效 特斯拉美国完全自动驾驶系统交通违法调查案获五周延期回应时间 阿根廷首次迎来大批中国电动车入境 宝马电动版 M3 搭载模拟发动机声浪:其技术源头大揭秘 5000台新车集中交付,奇瑞汽车与一嗨出行达成战略合作 轻舟智航智驾上车量突破百万台,26年还将有50款新车上市! 加拿大“放行”中国电动车,谁是最大受益者? 丰田确认研发全新中置引擎跑车 IDC:2025年Q4 vivo中国市场出货1200万台,中国品牌排名第一 IDC:2025年Q4荣耀手机中国市场排名第5 海外出货量同比增长约55% 极氪法务部就车友活动不实信息发布严正声明:坚决追究造谣者法律责任 鸿蒙智行尚界Z7道路测试视频首曝:溜背造型、车长或超过5米 DeepSeek大量招人,该梁文锋上场了 赵长江:自己天天学习华为,最大的挑战“在于我自身” 可灵AI 12月收入超2000万美元,ARR突破2.4亿美元 新年换机大战打响,天玑9500靠“体验质变”撬动高端市场 华为Pura 80系列到手即可体验鸿蒙 6,智能体验全面升级 2025换新机建议一步到位,都是16+512GB超高性价比,年轻人“最爱” CES 2026即将开幕:机器人、AI眼镜,哪些黑科技将引领未来? 曝豆包AI眼镜即将进入出货阶段 需配豆包APP使用 何小鹏:下个月进入全新一代量产机器人的“ET0”阶段 VI-grade中国零原型(ZPS)实验展示中心在上海正式启动 鸿海科技日:鸿华先进展示搭载TomTom技术的语音AI导航体验 工信部公示人形机器人标准化技术委员会委员名单:王兴兴、彭志辉等人在列 血氧、心率监测数据将更精确 智能手表这一技术取得新突破 田渊栋、卡帕西力荐Nano Banana新玩法:论文变漫画、手写解题以假乱真,谷歌这波赢麻了 阿维塔董事长王辉:明年4款新产品密集推出,是一场硬仗 联想CFO郑孝明:正囤积PC内存,不会向客户转嫁成本 小鹏X9超级增程定价背后的战略逻辑:一场“艰难决定”与规模化破局 部分车辆出现App离线、远程控制功能不可用,极越汽车回应