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

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

 

干货教程更多>>

真我GT Neo6的性价比高吗?值得买吗? 中国首款超豪华行政座驾,预计11月中旬上市,解读红旗金葵花国雅 探店实拍第五代胜达,30万内配置不输新势力 筑梦想 塑未来,捷豹路虎希望小学知行之旅走进上海 奥迪发布新品牌AUDI,携AUDI E概念车全球首次亮相 三大全面战略落地,一汽丰田始终在走上坡路 增配更实用,2025款福特锐界L内外升级,售价22.68万起 美国排名前三汽车膜制造商,正式进驻京东平台 6.98万起,纯电续航305km,全系4座布局,比亚迪海鸥为何能火? 这才是去川西的正确打开方式,80%的人都错了 性能拉满也能“冷静”上分 iQOO 13游戏散热实测 比亚迪单月卖50万辆,零跑冲击月销4万:“创纪录”成10月车市关键词 售价146.89万元,新一代宝马M5上市!产品力如何? 起亚2024年SEMA展会上推出 EV9“Advntr”概念车,向越野生活迈进 巴黎车展见证红旗品牌纯电SUV的华丽转身 梅赛德斯-奔驰集团股份公司取得以自动化驾驶运行方式运行车辆的方法专利 广汽丰田10月销量超7.8万台,同比下跌约5.06% 魅族Flyme突然发力:魅族21系列迎来大更新,你收到了吗? 创造历史!真我GT7 Pro首销打破真我所有新品记录 最强性价比,同档无对手!真我GT7Pro正式发布!一文看懂具体配置 真我GT7 Pro正式发布,搭载骁龙8至尊版仅3599元,良心厚道 不到15万的本田SUV,油耗5.13升,操控灵活,适合家用 全新福特领睿/领裕插电混动SUV亮相,度假风设计,14分钟特快补能 一汽-大众全新探岳L正式SOP下线,国内首发亮相 新能源车谁更保值?降价的保时捷仍居首,比亚迪海鸥杀进前十 丰田在中国市场的销量为何持续下滑,但全球却屡创佳绩? 新车|吉利势头强劲新车不断 宝马又回到了价格竞争的行列? 新一代宝马X5路试曝光,动力升级,外观迎来“大换血”! 三种动力可选,标配L2级辅助驾驶,一汽大众探岳实车体验