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

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

 

人才招聘信息更多>>

2025年阿坝州教育和体育局招聘紧缺学科教师公告 广汽集团冯兴亚:入局皮卡赛道,2027年冲向全球 MAZDA 6e启航欧洲,长安马自达全球化战略迈入新里程 10万级SUV新标杆,第四代博越L预售开启,智能舒适全升级! 潍柴发布高热效率发动机H/T-2.0新品 油耗再降5% 或改变行业格局 20多年前的汽车:大灯罩上有很多条纹,现在的车怎么没了? 商用车电动化高质量发展产业论坛在沪重磅召开 信达通商获海关AEO高级认证 创新领航二手车出口新格局 江苏宿迁市公安局宿豫分局招录警务辅助人员40人公告 浙江金华市交通工程管理中心招聘编外人员公告 浙江舟山岱山县数据服务中心招聘编外人员公告 2025年江苏泰州市消防救援支队政府专职消防员招聘179人公告 广东河源紫金县上义卫生院招聘临聘工作人员公告 2025年广东佛山市高明区人民医院招聘工作人员39人公告 2025年广东清远市公安局第一次警务辅助人员招聘5人公告 2025年江苏南京市事业单位招聘紧缺人才岗位目录 国补地补全兜底 上汽大众六重好礼助力新年开新车 鸿蒙智行用户中心大规模招募,原BBA门店优先 “诡异”的全年销量,提升空间大的马自达EZ-6 肯德基发布“车速取2.0” 共塑“车行生活”风景线 2025全球汽车销量增1.7%,电动汽车或爆增30% 对标比亚迪海豚!埃安AION UT真就“稳了”? 海豹05DM-i来了,搭载第五代DM技术,8.98万元起开启预售 2024年终销量出炉:一汽集团求稳,实力更需变强 全面布局,加速创新,南芯科技领航车载充电市场 因电池亏电失去动力 奥迪召回A7、Q7等车辆国内召回 新能源汽车面系市场的下一个增长点,会是它吗? 78.8万元起,蔚来行政旗舰ET9正式上市 奔驰高管呼吁:必须尽快赢回市场份额 并重新思考中国战略 11月电池榜:宁德占比近7成 国轩占比超12% 欣旺达同比增273倍