0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DevEco Studio 3.1 Release | 动态共享包开发,编译更快,包更小

HarmonyOS开发者 ? 来源:未知 ? 2023-05-19 12:15 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

动态共享包(HSP)开发是DevEco Studio 3.1 Release版本带来的新特性,基于新的编译方式,提供运行态共享能力,可以有效加快编译速度,减小HAP包的体积。


动态共享包引入

以往使用的JSBundle化编译方案,因每个入口page都会打包成一个bundle包,且不支持运行态共享,当修改单个模块文件,需要整包重新编译打包,会导致编译消耗的时间变长,也会导致HAP包的体积变大,从而影响了HarmonyOS应用开发效率和开发者体验。

Bundle化打包过程示意图

为了提升开发效率和开发者体验,DevEco Studio提供模块化编译方式,模块之间相互独立编译,可以加快编译速度。同时,为了减少包体积,支持将多个模块通用的能力和资源提取,作为动态共享包(HSP)供其他模块或者应用使用。



什么是模块化编译

模块之间相互独立编译,编译速度更快。

应用内模块化编译方式使用原生ES Module规则构建源码,解决了Bundle编译打包模式引入的问题,进而让工程中的资源文件,以独立模块的形式进行编译。当修改单个模块代码时,无需整包编译构建,编译的代码量会大大减少,从而加快增量编译速度,让编译更快。

模块独立编译示意图



如何开启模块化编译

API 9及以上版本的Stage工程中会默认开启模块化编译方式,开发者无需单独配置,编辑好代码后,直接点击Build Hap(s),就会以模块化的编译方式来进行打包。

新建项目,选择Stage示例图

3.1 应用内共享HSP开发,让包体积更小

基于Stage模型和模块化编译方式,如何进行动态共享包(HSP)的开发呢?一起来看以下介绍:

3.1.1 提供动态共享包模板,轻松创建动态共享包HSP

HSP是可以用来共享资源和代码的动态共享包,为了方便开发者使用,DevEco Studio提供Shared Library动态共享包模板,开发者可以直接使用该模板,轻松创建HSP。

开发者选中工程目录中任意文件,右键选择New > Module,打开Shared Library模板。

Shared Library模板示意图

在HSP对应模块(如Shared_Library)中完成通用能力代码和资源的开发后,选中菜单栏的Build > Make Module‘Shared_Library’进行编译构建,即可快速生成HSP。

编译构建示例图

生成HSP

3.1.2 应用内快速引用HSP

开发者可通过字段配置,将HSP共享给应用内其他模块使用,并且支持在运行态共享HSP。在使用方entry/feature模块的oh-package.json5文件中添加HSP模块来引用,以引用名为Shared_Library的HSP为例:

HSP引用配置

在模块化编译方式的加持下,使用方的模块经过编译打包后,HAP包的体积将会明显变小,开发者就可将HAP包快速安装在设备上来调试运行,提升开发效率。

与此同时,DevEco Studio支持HSP预览,ArkTS/C++调用HSP的断点调试等功能,您可以点击下方“阅读原文”进入HarmonyOS官网资料了解更多HSP的内容。


文章推荐

点击下方链接,查看更多技术文章

不同设备如何统一语言编程平台高效开发?

DevEco Studio 3.1 Beta新特性知多少

DevEco Device Tool 3.1 Release新版本发布

HarmonyOS Connect认证测试



原文标题:DevEco Studio 3.1 Release | 动态共享包开发,编译更快,包更小

文章出处:【微信公众号:HarmonyOS开发者】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HarmonyOS
    +关注

    关注

    80

    文章

    2130

    浏览量

    33669

原文标题:DevEco Studio 3.1 Release | 动态共享包开发,编译更快,包更小

文章出处:【微信号:HarmonyOS_Dev,微信公众号:HarmonyOS开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【M-K1HSE开发板免费体验】DevEco Studio应用开发体验(物理机器运行失败)

    安装IDEhttps://developer.huawei.com/consumer/cn/deveco-studio/下下载DevEco Studio需要先登录 解压下载的安装双击
    发表于 07-19 11:16

    鸿蒙5开发宝藏案例分享---优化应用体积大小问题

    ;gt; 代码,内重复。 ? HSP动态 :所有HAP共享同一份HSP代码,物理存储仅1份。效果 :资源越多,节省越显著(尤其图片、公共组件库)。 ?3. OHPM依赖冲突解决:告
    发表于 06-13 10:09

    使用DevEcoStudio 开发编译鸿蒙 NEXT_APP 以及使用中文插件

    # 使用DevEcoStudio 开发编译鸿蒙 NEXT_APP 以及使用中文插件 #鸿蒙开发工具 #DevEco Studio ##
    发表于 06-11 17:18

    HarmonyOS优化应用体积大小问题性能优化

    : 对于含有so库的app工程,可以配置so库压缩选项,通过压缩so库来减小应用大小。 应用存在多(HAP、HSP)的场景时,可以使用HSP动态共享包在应用的多个
    发表于 05-20 14:50

    RVCT编译器是否比GNU的编译器的代码执行速度更快

    ,是rvct3.1还是rvct4.0?如何把rvct编译器集成到ide中? 2、RVCT编译器是否比GNU的编译器的代码执行速度更快
    发表于 05-08 07:49

    最新 HUAWEI DevEco Studio 使用技巧

    最新 HUAWEI DevEco Studio 使用技巧 HUAWEI DevEco Studio 作为我们 harmonyos 应用的开发
    的头像 发表于 04-27 16:59 ?788次阅读
    最新 HUAWEI <b class='flag-5'>DevEco</b> <b class='flag-5'>Studio</b> 使用技巧

    DevEco Studio 工具如何安装

    签名。 步骤 3在编辑窗口右上角的工具栏,点击运行按钮,或使用默认快捷键 Shift+F10(Mac 为 Control+R)运行工程,等待编译完成即可便运行在设备上。 至此,验证了 DevEco Studio 工具已正确安装
    发表于 04-24 07:38

    KaihongOS操作系统:开发环境搭建

    开发环境搭建 下载开发工具—DevEco Studio 建议使用 DevEco Studio
    发表于 04-23 07:27

    鸿蒙北向开发OpenHarmony5.0 DevEco Studio开发工具安装与配置

    本文介绍OpenHarmony5.0 DevEco Studio开发工具安装与配置,鸿蒙北向开发入门必备!由触觉智能Purple Pi OH鸿蒙开发
    的头像 发表于 03-28 18:05 ?971次阅读
    鸿蒙北向<b class='flag-5'>开发</b>OpenHarmony5.0 <b class='flag-5'>DevEco</b> <b class='flag-5'>Studio</b><b class='flag-5'>开发</b>工具安装与配置

    【贝启科技BQ3568HM开源鸿蒙开发板深度试用报告】使用Deveco Studio进行开发

    studio,再到真机运行,对于版本的匹配要求,非常的严格,所以保险起见,我用的是4.1 Release,之前编译的时候,也选用的这个版本。 一、Deveco
    发表于 03-16 11:28

    HarmonyOS NEXT开发实战:DevEco Studio中DeepSeek的使用

    :安装使用 建议使用DevEco Studio 5.0.3及以上版本。 安装DevEco Studio:如果尚未安装DevEco
    发表于 03-07 14:56

    rtthread_studio使用lwip软件变异报错是什么原因导致的?

    最近学习使用rtthread_studio 开发stm32f407网络通信,打开lwip软件,结果变异报错,网上查了一下,没人遇到过这个情况,好像简单设置一下就能编译通过,怎么我这就
    发表于 03-05 09:09

    如何在DevEco Studio中利用CodeGPT接入DeepSeek

    近期DeepSeek火爆全球,那一样很火的开发鸿蒙原生应用的DevEco Studio如果把它接入,会发生什么“化学反应”呢?下面我们将详细分享如何在DevEco
    的头像 发表于 02-19 13:52 ?1200次阅读
    如何在<b class='flag-5'>DevEco</b> <b class='flag-5'>Studio</b>中利用CodeGPT接入DeepSeek

    鸿蒙北向开发OpenHarmony4.1 DevEco Studio开发工具安装与配置

    OpenHarmony4.1 DevEco Studio开发工具安装与配置,鸿蒙北向开发入门必备!
    的头像 发表于 02-07 17:35 ?926次阅读
    鸿蒙北向<b class='flag-5'>开发</b>OpenHarmony4.1 <b class='flag-5'>DevEco</b> <b class='flag-5'>Studio</b><b class='flag-5'>开发</b>工具安装与配置

    DevEco Studio Code Linter的使用指南

    在当今对代码质量和规范性要求日益严格的环境中,开发者亟需强大的代码检查工具来应对挑战。DevEco Studio Code Linter正是这样一款工具,它通过提升代码质量、统一代码风格,并有效检测安全漏洞和潜在bug,为
    的头像 发表于 11-05 09:52 ?1128次阅读