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

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

 

汽车生活更多>>

风云A8降2万 如今这个价格是怎样做到越级之选的 家门口享受原厂服务,北京现代联手京东养车,车主修车更方便了! 智领未来!北京现代携手京东养车,开启数字化养车全新时代 4月多款新车上市 方程豹钛3预计小订单轻松破万!订单数据和用户画像如何? 12.98万元搭配激光雷达智驾!零跑B10的预售成绩火爆 奇瑞“不客气”,混动技术如何智领全球? 吉利银河星耀8预售开启:中国豪华电混轿车的“破局者”来了! 国民车红旗H5 PHEV 国车级超规格全维安 比亚迪腾势Z9 GT交付破万,创新能源豪华GT车型最快纪录 小姐姐最爱买的电动车:小鹏MONA M03累计交付超6万台 方程豹豹8交付破万,国产硬派SUV新速度 smart品牌全球销量增长7%,2025年拓展超10个海外市场 虞美人花在废墟上绽放:加拿大的战争纪念 甘会斌|人间已无格尔茨 秉持国匠担当,天津城投·时代之城引领城市更新迭代 理解贵州|红色IP,何以鲜亮如新——解码贵州红色之旅的现代表达 上海春运办:对外客运量呈快速增长趋势,明天将发送63万人次 《国色芳华》:花开应傲骨 我要去长安探秘,长安汽车黑科技体验营免费开放 比亚迪全新跑车曝光,对标保时捷911,老百姓买得起不? 丰田MR2有望重生,Celica及旗舰超跑也在路上 自动驾驶新时代即将到来?中美两地对比测试小鹏特斯拉智驾系统 比亚迪唐L霸气来袭,提供无人机舱,1月17日正式发布,剑指理想L6 捷尼赛思GV60 Magma能否凭借650马力刷新高性能电动车市场格局? 37年聚焦中国用户需求,一汽奥迪以“56789” 体系再现王者实力 6.2L V8机增+720Ps马力,4秒内破百,美式SUV顶流,油门给我踩踩踩! 2025年舟山市定海区民政局招聘社会救助专职社工公告 2025年温州市苍南县人武部招聘民兵教练员驾驶员公告 2025年绍兴科技馆招聘工作人员公告