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

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

 

汽车性能更多>>

东风本田灵悉L,配电子后视镜,车内五联屏幕,9月26日上市 中大型SUV,2.0T插混/配华为乾崑智驾,方程豹豹8实拍 轴距2820mm+7座可选,搭载1.5T插混系统,凯翼昆仑iHD适合家用 6/7座可选,2.0T插混+四驱,惠后26.28万起,红旗HS7 PHEV适合家用 售26.88万,座椅2+2+2布局,2.0T+8AT+四驱,第五代胜达带劲不? 座椅2+2+2布局,配冰箱,惠后18.86万起,这款中大型SUV适合家用 东风奕派eπ008,6座中大型SUV,提供冰箱、后排独立屏,适合家用 座椅2+3+2布局,2.5L油电混合+四驱,家用可以看这款合资中型SUV 凯迪拉克新款XT6惊爆!10万土豪为何纷纷叫好又吐槽? 雷鸟U9系列Mini LED显示器发布,首发价3699元起 平板新物种:为什么iPad Mini可能成为你的下一个必买品? 时隔三年iPad mini 7要来了,有望告别果冻屏,遗憾仍是60Hz 混动厮杀:本田ZR-V e:HEV和丰田卡罗拉Cross 2.0 Hybrid AWD 红旗 EH7 亮相巴黎车展,预售价 49999 欧元,折合人民币约 38.6 万 红旗新车曝光 最高时速200km/h 国产跨级对比!零跑C16对比传祺M8,18万预算,该怎么选? 要续航、要舒适,还要充电效率,五菱星光S和银河E5,谁更懂你? 全新外观设计,新雪铁龙C5AIRCROSS概念版正式亮相 宝骏旗舰级轿车内饰谍照曝光,配全液晶仪表+大尺寸中控屏 别克这回真良心!24万降至17.99万,237马力+9AT+四驱,家用首选 劳斯莱斯,Spectre Lunaflair 全新一代本田Passport实车曝光,造型硬派,搭3.5升六缸机 福特新锐际来袭! 省心又省油,这款SUV能否成为家庭出行新宠? 实测2024款大众迈腾B9,全面升级,个性外观+丰富配置,适合家用 比亚迪的王朝和海洋,为什么没有互相伤害? 雷诺-日产新联盟平衡达成,汽车行业或迎新变革 2025款日产Pathfinder发布,3.5V6,合¥26万元 一汽奥迪以专家造车,打造全周期高品质用车体验 高通要成了!骁龙8至尊版是冰龙 强大5G“起飞”赋能低空经济 我国将打造全球最大规模低空通信网