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

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

 

汽车新闻更多>>

更满足全家需求的智能SUV,余承东称智界R7领先新Model Y! 哈尔滨用户谈问界:动力续航无忧,冬日安全出行 一口价14.98万 迈腾众享款280TSI豪华型上市秒变B级家轿新春首选 直降5万 别克昂科威S正月限时钜惠15.49万起 大七座的多种打开方式:2025款比亚迪唐DM-i的空间艺术 简评春风700MT︱定位非常清晰 横扫“海陆空”,这届CES车圈的野心很大 东风日产将推出全新电动车N7,能否增加销量? 长安将推出阿维塔06增程版,售价预计25万左右,能否增加销量? c2025年山东菏泽学院招聘高层次人才11人简章(第一批) 2024年辽宁省营口市鲅鱼圈区校园招聘教师30人公告(辽宁师范大学专场) 2024年辽宁省营口市鲅鱼圈区校园招聘教师20人公告(东北师范大学专场) 2025年辽宁沈阳辽中区四家事业单位面向区内事业单位遴选18人公告 2025年渤海大学赴高校现场招聘21人公告 2025年河北保定市满城区选聘高中教师50人公告 2025年天津市武清区事业单位招聘82人公告 比亚迪汉L申报图 单电机版功率提升350千瓦 简直跨越一个世纪 firefly萤火虫旗下小型车――萤火虫申报图曝光!预售价为14.88万 奇瑞汽车计划2025年上市,具体信息会陆续公布 消息称奔驰 正扩建中国研发团队,MB.OS 多研发项目转移至中国 零跑/雷诺电车降价,竟是因为排放要求? 零跑汽车宣布2025年产品规划,计划推B/D系列新车型 特斯拉人形机器人产能计划提升10倍!马斯克:未来将有300亿机器人投用 Firefly萤火虫冬测曝光:后驱电机+五连杆悬挂,博世智能制动系统加持 2024年新能源汽车销量盘点,多家车企交出满意答卷 预计2025年3月正式上市的零跑B10,能否成为零跑汽车下一个爆款? 新款捷尼赛思GV60官图发布,电池组升级至84kWh,现款28.68万元起 firefly萤火虫白色实车图,支持换电,预售14.88万元起/4月上市 合资品牌大势已去,优惠后9.59万起售,本田思域的对手有压力么? 适合全家出行?16.68万起售,传祺E8便宜实用