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

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

 

汽车笔记更多>>

不是简单的MG4放大版,MG 4X还有很多惊喜 跑起来很帅!全新一代宝马3系M350路试视频曝光 充电比加油还快?方程豹钛7 EV闪充版成都上市,19.98万起,5分钟补能70% 方程豹钛7 EV闪充版正式上市,两驱后驱两个版本:675公里续航版19.98万元,755公里续航版20.98万元 4月国内车企销量TOP10:仅2家下滑,上汽集团重夺销冠? 解读新势力4月销量:零跑断层领跑,身后竞争激烈 从石刻到土窑!博越REV重庆-资阳375km纯电续航挑战 放弃BBA?岚图泰山X8凭什么成五一爆单王? 纽北谍照曝光,全新911 GT4 Challenge将顶替Cayman GT4赛事车型 金标大众以“全新以赴,锋芒尽现”为主题,携与众07、与众08及2026款与众06三款主力车型集中亮相 金标大众ID. 与众家族登陆五一华南车展,与众08推限时购车权益! 岚图携全矩阵车型亮相北京车展 推进全球化与纯电战略 6出新主流 悦行越出彩!海洋家族三车长春上市 汉EV闪充版17.98万起,值不值得买?看完再决定 北京车展亮相的全新林肯冒险家与林肯Z紫骥版上,林肯首次展示了全面升级的“林肯智道AI座舱” 1-3月小型SUV销量榜 仅一款销量过3万 缤越第二 从“造好车”到“提供美好出行生活”,传祺为家庭用户带来新价值 一汽红旗携手零跑,与Stellantis开启深度商业谈判,计划落地西班牙萨拉戈萨工厂整车组装项目 大厂背书与技术复利:上汽智己的品牌实力与商业逻辑 让燃油车也有“电感”,奇瑞全新一代瑞虎9的智能化破局 15.98万起!乐道L80超越参数表的极限博弈,大五座SUV市场变天 售价39.48万元,2.4T水平对置+6MT,全新斯巴鲁WRX tS正式上市 37个月200万奇迹后,吉利银河M7远航家又要“搅翻”电混SUV江湖! 一直很喜欢开大众ID.3,中期改款的ID.3 Neo还会国产吗? 艾瑞泽8获2026 CTCC上海站双冠 第26位发车逆势登顶 极氪8X与问界M8正面硬刚 :“8系”旗舰SUV选性能猛兽还是华为生态? 综合补贴价8.78万元起!星光730尊享型携7大核心升级正式上市 从国内到全球:岚图北京车展公布三大海外行动与 ESG 新品牌 满配华为乾崑黑科技!启境GT7亮相北京车展,百万级智能猎装来袭 从架构到混动,吉利在北京车展展示体系化竞争力