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

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

 

新车报道更多>>

iQOO Neo10 Pro+ 5G手机限时特惠2379元 小米MIX Flip 2预计6月发布:更轻薄、更强性能 汇丰预计小米2026年下放自研芯片:目标价调至76.6港元 摩托罗拉(MSI.US)44亿美元收购Silvus创历史第二大并购 加速布局战术通信领域 被称为索尼\"水桶机\"A7M4人像摄影适配镜头真多,很香! 小米YU7来了,但雷军还没有松弛下来 无缝衔接多设备!华为笔记本Linux版换装后智慧功能体验依旧 iPhone 16未拆封如何辨别正品国行? 苹果临时提升iPhone 12及后续机型以旧换新价值,活动截止6月18日 额外优惠!苹果官宣→ 直屏旗舰新标杆,从影像到续航的vivo X200s无短板体验! 荣耀更猛了,7200mAh+3nm旗舰芯片+50倍变焦,如今跌至3159元起 红米Turbo4 Pro和小米Civi5 Pro差价1000多元,区别在哪里? 魅族21 Note真实体验:这手机到底行不行?优缺点全给你唠明白! 丰田中国李晖:反攻加速 反哺全球 一口气看完上海车展,能买和不能买的新能源车(传统车企篇) 2025上海车展|李斌:蔚来迎三个“收获大年” 在“听劝”和“不听劝”中努力盈利 限时5.38万起,好久没高调的五菱又“发大招”了 长城欧拉出王炸:复古美学+激光雷达,这车上市或成爆款车 从合资转型的“本土化范本”看一汽-大众的决心与信心 新增全新鹭羽白内饰,马自达EZ-6仅9.98万开走!合资圈要变天了? 岚图汽车发布L3级智能架构“天元智架” 首搭全尺寸SUV年内推出 日产汽车以全新新能源矩阵点亮2025上海国际车展 广汽丰田上海车展首发铂智7 加速智电布局构建双轨竞争优势 2025年芜湖市镜湖区荆山社区医院招聘公告 2025年皖南医学院第二附属医院招聘工作人员公告 2025年芜湖市南陵县综合行政执法局、南陵县司法局招聘编外聘用人员公告 2025年江西现代职业技术学院招聘临聘医生公告 销量跃升49.2%!悦达起亚2024年在中国市场领涨合资品牌 品质与责任齐飞 上汽大众ID.家族活该“叫好又叫座”