首页 > 汽车评测 > 汽车评测 > 鸿蒙开发实战 - 对鸿蒙开发程序包 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 的时候,就会对代码进行编译、混淆及压缩处理。

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

 

汽车评测更多>>

特斯拉新车没有方向盘没有脚踏板:定价不超20万、不需要人开 消息称三星Galaxy S26系列手机搭载全新降噪算法 苹果iOS 26.4 Beta移除App Store退出登录功能,切换账户更繁琐 科技整活!PS5手柄直接操控大疆扫地机器人 摩托罗拉Edge 70 Fusion手机宣传图曝光:骁龙7s Gen 4芯片、6.78英寸曲面屏 开源压缩工具NanaZip 6.0正式发布:UI大改、支持更多格式 AI时代的资本弃儿:为什么高瓴加仓阿里、拼多多,却清仓了百度 趋势科普:2026年,为什么越来越多人提LE Audio 和 Auracast? 上汽集团实现筑底企稳,回升提速态势渐显,改革攻坚取得了阶段性成效 2025车坛众生相:我们在追求科技进步,还是在制造昂贵的麻烦? 外媒:福特与比亚迪洽谈混合动力车型电池合作 丰田2026:蓄力之年 捷达科技公司成都启航 剑指新能源与出海双赛道 海外加价抢购,极氪9系究竟构建了怎样的“东方豪华”竞争力? 小鹏汽车的“稳进破局”,到底要破什么局? 掌握转型主动权,北京现代如何让合资品牌“老树发新芽”? 雷军:蓝色是SU7的幸运色,绿色是YU7的幸运色 小米YU7推出7年低息政策:月供低至2593元,2月底截止 旧照太“抽象”被疑盗号?QQ辟谣沈腾空间被盗,附送账号找回指南 出圈一周年,DeepSeek的变与不变 理想L6累计交付突破36万辆,成为2025年中大型SUV销冠 曾经盛极一时的VR、元宇宙,现在怎么样了? 台积电3nm打造!OpenAI计划今年推出首款自研AI芯片 爱马仕悠悠球多地售罄 网友:1.8万的童年回忆 西方专家:中国电网一旦最终成熟,将影响全球乃至掀起能源革命 AI的尽头,也可以是储能 59岁王祖贤近况曝光!在加拿大别墅区开艾灸馆,一个人孤苦伶仃生活 旭辉境外债务重组生效 碧桂园、融创、旭辉“三巨头”化债上岸 个人销售未满2年住房增值税降至3%,300万元房源可省5万多 创作者变现将有新渠道?小红书内测笔记付费功能