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

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

 

手机测评更多>>

10天内上市!宝马X5同级,高级数字底盘+800V架构,走平价路线 奇瑞造了一辆真路虎!外观高度类似,超级混动,10万级定位 不对比奕派008和零跑C16,不知道2024年新能源大六座有多卷! 揽胜同款设计!气场十足,越野能力强,深海静音,15万级奇瑞SUV 比亚迪,极氪迎来“强敌”!吉利新SUV曝光,平价定位,外观惊艳 小鹏将推增程动力,中大型SUV定位,或20万级! 入门就配高阶智驾,仅10.98万起的宝骏云海,到底有多强? 奇瑞唯美SUV!零重力6座,理想“劲敌”,价格挺亲民 叫板吉利星越L,瑞虎8L底气几何? 朱董开出了205km/h?聊聊第四代CS75PLUS的机械素质 上半年唯一正增长 长安福特杨大勇:我们是盈利的! 冲刺年销量50万辆 捷途汽车成就“中国旅行越野SUV领导者” P5都只卖13万多了,小鹏为啥还要出MONA M03? 顶配12.99万?长安第四代CS75PLUS这价格能不能打 10.99万起的全新瑞虎8 PLUS,提前预定四季度爆款? 丰田入门SUV哪家强?卡罗拉锐放当仁不让 从帕萨特开始,上汽大众的反攻全面拉开 对比了海豹07DMi和零跑C01,深蓝L07才是掀桌子的人 享界S9对比腾势Z9GT,谁才是中国轿车最高水准? 从燃油到插混,10万元的高性价比轿车都有哪些? 五菱星光S、红旗HS3,近期新车扎堆上市 最低不到30万拿下,奥迪A6L都便宜成什么样了 终端优惠4.5万,21万起的汉兰达还值得买吗? 优惠后不到14万起售,凯美瑞真实行情到底如何? 旧款清货、新款也有优惠,领克08 EM-P真香警告! 10万元落地的合资SUV,大降价的锋兰达值不值得买? 15.99万的帕萨特,合资车性价比不高?还不如看看这几台国产车 依维柯4x4越野轻客定名欧霸,越野房车又有好底子了? 比亚迪秦L EV路试谍照曝光,采用新前脸设计 捷达VA7实车到店,内饰和速腾相同,搭载1.4T动力