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
    +关注

    关注

    79

    文章

    1967

    浏览量

    29997

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

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

收藏 人收藏

    评论

    相关推荐

    DevEco Studio应用与服务体检工具介绍

    应用检测工具是开发者快速提升鸿蒙应用产品质量不可或缺的。因此,我们要向您推荐DevEco Studio应用与服务体检工具(AppAnalyzer)。当前已支持包括各种类型测试以及最佳实践测试,对于
    的头像 发表于 11-05 11:39 186次阅读
    <b class='flag-5'>DevEco</b> <b class='flag-5'>Studio</b>应用与服务体检工具介绍

    DevEco Studio Code Linter的使用指南

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

    为什么我的项目Debug运行没问题,编译Release就报错?

    引言 在Android开发中,debugrelease的行为差异可能导致release包在运行时出现问题,而这些问题在debug
    的头像 发表于 06-12 11:18 804次阅读
    为什么我的项目Debug运行没问题,<b class='flag-5'>编译</b>成<b class='flag-5'>Release</b><b class='flag-5'>包</b>就报错?

    鸿蒙原生应用元服务开发-鸿蒙真机运行项目实战与注意事项

    一、解压项目注意项目不能为中文 二、用数据线将装好DevEco Studio的电脑与设置为开发者模式的鸿蒙手机相连接。 三、将项目托进
    发表于 05-24 15:12

    鸿蒙OS开发:【一次开发,多端部署】(工程管理)

    DevEco Studio的基本使用,请参考[DevEco Studio使用指南]。本章主要介绍如何使用DevEco
    的头像 发表于 05-16 16:07 1131次阅读
    鸿蒙OS<b class='flag-5'>开发</b>:【一次<b class='flag-5'>开发</b>,多端部署】(工程管理)

    鸿蒙(Harmony OS)中Native层的SDK详细解析

    鸿蒙中支持har和hsp的创建,其中har是静态共享库,编译后会生成一个以har为后缀的文件。Hsp是
    的头像 发表于 04-02 14:42 2696次阅读
    鸿蒙(Harmony OS)中Native层的SDK详细解析

    OpenHarmony4.1Release无法运行debug应用问题分析

    1 关键字 debug; 4.1Release; 应用; 2 开发环境 系统版本: 4.1-Release DevEco Studio版本:
    发表于 03-27 14:27

    鸿蒙OS应用开发:【DevEco Studio3.0 和 3.1版本差异】

    DevEco Studio支持包括手机、平板、车机、智慧屏、智能穿戴、轻量级智能穿戴和智慧视觉设备的HarmonyOS应用/服务开发,预置了工程模板,可以根据工程向导轻松创建适应于各类设备的工程,并
    的头像 发表于 03-26 17:21 1049次阅读
    鸿蒙OS应用<b class='flag-5'>开发</b>:【<b class='flag-5'>DevEco</b> <b class='flag-5'>Studio</b>3.0 和 <b class='flag-5'>3.1</b>版本差异】

    RT-Thread Studio添加软件报错怎么解决?

    RT-Thread Studio添加软件报错ImportError: No module named psutil
    发表于 03-01 08:41

    鸿蒙开发编译构建】讲解

    的HAP部署到设备中。这种方式一般用于应用开发阶段进行应用的调试、功能验证等场景。 方式二:通过DevEco Studio的Build菜单栏的编译选项进行构建,HAP的构建结果存放
    发表于 02-27 17:41

    DevEco Studio 4.1带来多种调试能力,助力鸿蒙原生应用开发高效调试

    目前,HarmonyOS NEXT星河预览版已经正式面向开发者开放申请,面向鸿蒙原生应用及元服务开发者提供的集成开发环境——DevEco Studi
    的头像 发表于 02-04 15:35 701次阅读

    鸿蒙开发(ArkUI)—分析DatePicker组件

    操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1+
    的头像 发表于 02-01 15:22 649次阅读
    鸿蒙<b class='flag-5'>开发</b>(ArkUI)—分析DatePicker组件

    RX系列V3.06.00的C/C++编译数据手册

    电子发烧友网站提供《RX系列V3.06.00的C/C++编译数据手册.pdf》资料免费下载
    发表于 01-26 15:57 1次下载
    RX系列V3.06.00的C/C++<b class='flag-5'>编译</b>器<b class='flag-5'>包</b>数据手册

    RL78系列的C编译数据手册

    电子发烧友网站提供《RL78系列的C编译数据手册.pdf》资料免费下载
    发表于 01-26 15:55 1次下载
    RL78系列的C<b class='flag-5'>编译</b>器<b class='flag-5'>包</b>数据手册

    SpringBoot项目Jar加密防止反编译方案

    最近项目要求部署到其他公司的服务器上,但是又不想将源码泄露出去。要求对正式环境的启动进行安全性处理,防止客户直接通过反编译工具将代码反编译出来。
    的头像 发表于 12-12 14:04 1241次阅读
    SpringBoot项目Jar<b class='flag-5'>包</b>加密防止反<b class='flag-5'>编译</b>方案