首页 > 新车评测 > 新车评测 > 鸿蒙开发实战 - 对鸿蒙开发程序包 HAP、HAR 以及 HSP 的简要理解

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

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

备注:在看文档的时候,一定要注意是 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 的时候,就会对代码进行编译、混淆及压缩处理。

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

 

新车评测更多>>

16万元,刚改款上市的宝马纯电,竟然直接打折售卖? 大众ID.4将迎中期改款 外观内饰全面更新预计2026年底首发 丰田官方确认将推出中置引擎跑车 预计需4至5年完成开发 丰田等日本车企将共享芯片数据以应对供应链风险 2026款奔驰S级将搭载加热安全带 捷尼赛思曾秘密研发电动皮卡概念车 项目已暂停 大众裁员大刀,砍向董事会,一次撸掉10位 荣耀MagicOS全新功能“眼动翻页”官宣,支持电子书应用翻页 微信员工澄清“通知显示头像”功能:并非仅限iOS设备 “套壳”谷歌Gemini 但苹果还没死心自研模型 80后哈佛学霸带出的90亿独角兽 拿下20亿融资 Manus和它的“8000万名员工” 初创公司GRU Space宣布开发“月球酒店”:最快六年后入住,定金25万至100万美元 扎克伯格大砍预算 Meta现实实验室将裁员10% 消息称OpenAI正研发AI耳机:可利用自然语言交互、有望配备2nm制程芯片 章泽天播客预告首期嘉宾 小红书账号粉丝已超7万 超40家VC押注,80后创始人冲刺水下机器人第一股 雷军新年直播今晚开启:现场拆一台小米YU7!已准备就绪 比亚迪超越特斯拉 美媒:马斯克笑不出来了 多邻国App使用苹果iPhone灵动岛展示广告,被指违反官方设计规范 iPhone电池健康度能用到0%?苹果回应:理论有可能,现实没见过 边开车边充电,美国佛罗里达州将启动无线充电高速公路测试 小鹏汽车:2026款小鹏P7+和小鹏G7超级增程开启新年首次发运 smart精灵#1 马年开运版上市:四款专属车顶,售13.99万元 购房补贴、定向礼包,多地“金九银十”楼市优惠加码 双创指数强势领涨!“十五五”蓝图划重点,科技+内需迎新机遇 新能源汽车电池退役后,都去哪儿了? 保时捷携两款标志性911登陆第八届进博会,演绎经典与创新的时代对话 德赛西威正式发布机器人智能基座AI Cube 长安汽车9家海外工厂,布局到了哪里?