HarmonyOS 鸿蒙Next DevEco Studio Release | 动态共享包开发,编译更快,包更小

HarmonyOS 鸿蒙Next DevEco Studio Release | 动态共享包开发,编译更快,包更小

动态共享包(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示例图

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

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

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

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

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

Shared Library模板示意图

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

编译构建示例图

即可快速生成HSP。

生成HSP

应用内快速引用HSP

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

HSP引用配置

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

与此同时,DevEco Studio支持HSP预览,ArkTS/C++调用HSP的断点调试等功能,您可以通过HarmonyOS官网资料了解更多HSP的内容:点击了解更多


更多关于HarmonyOS 鸿蒙Next DevEco Studio Release | 动态共享包开发,编译更快,包更小的实战教程也可以访问 https://www.itying.com/category-93-b0.html

17 回复

到现在还不支持Linux? 体制内都基本换Linux系统了

这让我们一群用Linux系统的情何以堪啊?

更多关于HarmonyOS 鸿蒙Next DevEco Studio Release | 动态共享包开发,编译更快,包更小的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


这个版本的真机调试卡的不能用。。。

请问有没有c++的相关教程啊。c++ 想转这个感觉有点看不太懂啊。

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

学到了

打包后的hsp文件,怎么引进来

HarmonyOS的流畅动画和过渡效果让操作更加顺畅,体验极佳。

为什么我打开build时只有一个选项?

你好,尝试右键选择New > Module,然后再看下,

不支持java了吗?

API7之前的有Java,API8及以上的当前主要是ArkTS为主了。

早就换了,

学到了,

针对帖子标题“HarmonyOS 鸿蒙Next DevEco Studio Release | 动态共享包开发,编译更快,包更小”,以下是对相关问题的直接回答:

问题1:DevEco Studio新版本在动态共享包开发上有哪些改进?

DevEco Studio新版本在动态共享包开发上主要改进了编译速度和包体积。通过优化编译流程和技术,新版本显著提升了动态共享包的编译速度,使得开发者能够更快地构建和测试应用。同时,新版本还采用了更高效的打包技术,有效减小了动态共享包的体积,降低了应用对存储空间的占用。

问题2:如何利用DevEco Studio新版本的优势提升开发效率?

开发者可以利用DevEco Studio新版本在动态共享包开发上的优势,通过更快的编译速度和更小的包体积,减少开发周期中的等待时间,并降低应用发布时的门槛。此外,新版本可能还包含了其他性能优化和功能增强,有助于开发者更高效地完成应用开发任务。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部