首页 > 事业单位招聘 > 事业单位招聘 > 鸿蒙开发实战 - 对鸿蒙开发程序包 HAP、HAR 以及 HSP 的简要理解

鸿蒙开发实战 - 对鸿蒙开发程序包 HAP、HAR 以及 HSP 的简要理解

发布时间:2024-07-26 22:46:36

备注:在看文档的时候,一定要注意是 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 的时候,就会对代码进行编译、混淆及压缩处理。

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

 

事业单位招聘更多>>

累计交付90.5万辆,东风自主、合资都要抓 连续4月同比增长 一汽丰田以马拉松精神破局内卷困境 不等2025年!日产天籁继任者提前曝光?这设计比18款年轻太多! 开始起量 问界M8成上周插混车型销量第一 比秦PLUS还多 绿联CD249手机充电器Type - C 20W仅需21.31元 索尼发布PS5史上最佳100款游戏!动作篇揭晓! 豪华品牌+华为 全球第一车 一汽奥迪Q6L e-tron家族开启盛大预售 小鹏汽车肇庆基地再上新 MONA M03加推新版型 理想树图书:以科技赋能教育,开启AI时代自主学习新范式 央企下场掀桌子!东风纳米06高级辅驾击穿10万元级 澳媒:比亚迪将全面进军澳大利亚市场 雷克萨斯新一代ES内饰亮相,双大屏国产味儿,还能成进口车销冠? A0级市场SUV卖不过轿车?这三款有望破局 哈弗猛龙燃油版上市,用“纯粹”叫板新能源时代 比亚迪腾势N9汽车第1万辆交付,车主为优必选科技创始人周剑 5 款使用 5 年后转售表现优异的轿车,以及 5 款价格大幅下降的轿车 长安汽车董事长朱华荣:到2028年实现人形机器人生产下线应用 一汽-大众三款畅销车型深度解析 比亚迪“超级电池”来了!充电5分钟跑400公里,已量产 比亚迪动力电池通过新国标认证 车市速递//别克昂科威家族第180万台整车、君越第130万台整车下线 本田这款全球车型降价3000元,升级TFT仪表和KYB氮气减震等配置 谁说丰田玩不转新能源?双冗余科技+5000万销量,直接刷新三观! 奔驰多款车打五折?记者实探 降本、出海、AI 三手抓,小鹏站在盈利黎明前 丰田卡罗拉优缺点深度解析:经典家轿的“守”与“破” 月销量不足千台,高管:MINI不拼性价比! 深度剖析奔驰GLE:豪华与性能的完美融合 东风华为“抱团开大”,中国品牌用双赢点亮中国汽车发展新未来 锚定头把交椅,传祺向往M8乾崑重绘华系MPV价值坐标