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

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

 

汽车测评更多>>

传统势力开卷?搭2.0T+9AT动力,轴距2900mm,关键起售价不到22万 首推低配低配双擎两驱精英版,汉兰达购车手册,油耗5.82L/100km 零跑B10亮相巴黎车展:搭载高算力智驾芯片,你看好它吗? 后驱豪华中型车,全系33英寸环绕屏,解读凯迪拉克CT5 第二代AION V新车型上市,配激光雷达,售价16.98万元 新款智己LS6开启预售,配8295芯片+四轮转向,23.99万元起 深蓝L07亮相成都车展,搭载华为乾崑智驾辅助系统,年内有望上市 座椅2+2+3布局,2.5L油电混动,提供四驱,家用可以看这款MPV 2025 款福特 Bronco Stroppe 版灵感源自传奇的 Baja Racer 比亚迪的薄利多销魔法,卷出新高度,赢在未来 日产发布全新第四代Murano(楼兰),将抛弃CVT 丰田汽车与波士顿动力合作 推进AI人形机器人技术 丰田研究所与波士顿动力合作,推进机器人大规模行为模型等研究 全面升级 吉利中国星东方曜双子新车解读 一汽奥迪以专家造车,打造全周期高品质用车体验 谷歌安卓15引入“空间大师”功能,128GB存储也能拥抱海量应用 华硕笔记本电脑质量怎么样?四款华硕笔记本推荐,真香选择 苏姿丰等亮相联想Tech World:我们正进入最激动人心的创新时代 史无前例,英特尔和AMD在联想“撮合”下合作了 产业链协同视角下的理想汽车:国产豪华品牌高质量发展的先锋 多方“围剿”下蔚来急切“收割”订单:推6亿元购车加电补贴、单车至高3000元 中国车企正在“颠覆”欧洲老牌制造商?小鹏、广汽纷纷“安抚” 创近三年历史新高!深圳二手房单周录得2316套,环比增长649.5% 环涨738.1%!上周青岛二手房成交1760套,单周成交量创年度新高,市场热度有望延续 爆卖1500万台!荣耀X50再创奇迹 一图梳理荣耀产业链 李杰官宣,一加13样样超Pro,下周见,一图看懂第二代2K东方屏 全球手机市场:vivo、华为等中国厂商“增长强劲”,iPhone16仍被看好 中兴畅行 60 Plus:千元机也能拥有旗舰级体验? 红米k80 pro手机!骁龙8Gen 4+超声波指纹+6500mAh大电池! 星纪魅族加速推进软硬一体化生态布局