HarmonyOS 鸿蒙Next DevEco Studio 3.1差异化构建打包,提升多版本应用开发效率

HarmonyOS 鸿蒙Next DevEco Studio 3.1差异化构建打包,提升多版本应用开发效率 DevEco Studio-微信图片@2x.jpg

HUAWEI DevEco Studio是开发HarmonyOS应用及服务的一站式集成开发环境。本次分享DevEco Studio 3.1上线的新特性-差异化构建打包,定制多目标构建产物。

很多应用需要根据具体业务来定制对应场景的工程,举个例子,同一个应用会因为场景的不同需定制为不同的版本,如VIP版、普通版等,开发者需要重复创建多个工程来适配这些场景,而这些工程之间可能只存在少量的代码差异,这样开发的大部分工作都是程序化的操作,不仅工作量大,还消耗时间。

为了解决此类问题,DevEco Studio 3.1提供差异化构建打包功能,在面对多场景开发时,开发者无需创建多个工程,可以在同一个工程中,创建多个product和target,在target中通过少量代码的差异化配置处理,再打包到不同的product中,生成对应场景的APP,这样的方式可以让代码、资源文件等高效复用,从而提升多版本应用的开发效率。

差异构建打包原理图.png

何为product、target?

通常一个工程由多个模块组成,工程的构建产物为APP包,APP包作为应用上架应用市场,由于不同的业务场景需定制不同的应用包,因此引入product的概念,一个product对应一个定制化APP包。

在工程内每一个entry/feature模块,都对应一个构建产物HAP包,由于同一个模块在不同的应用场景可能需定制不同的功能、资源,因此引入target的概念,一个target对应一个定制化的HAP包。

一个工程可以定制多个product,一个模块可定制多个target,开发者可以在一个工程中通过product和target组合搭配,构建打包成不同版本的应用。

1.png

同时,DevEco Studio 3.1提供了管理product / target的界面,来完成product target模型上下文的切换。

以Stage模型为例来详细说明

1、根据需求快速定制target

差异化构建打包功能支持定义target的名称, source源码集、资源,将这些可能存在差异的文件存放在不同的路径下,然后将对应场景下需要的功能、资源、配置放在相应的target中即可快速定制target。

开发者通过Entry/Feature模块下的build-profile.json5文件来完成target定制。

2.png

2、同一个工程构建不同的APP包,实现多应用开发

差异化构建打包功能支持定义product的名称、bundleName信息、签名配置信息。开发者可以在工程级别下的build-profile.json5文件来定制不同的product来适配不同的应用场景,一个product包含多个target,只需使用简单的代码配置 “name”: “a”,“applyToProducts”: [“A”, “B”],就可以快速地将target打包到不同的product中。

3.png

3、构建打包product target更方便

DevEco Studio 3.1提供了product target管理面板,便于开发者选择指定需编译构建或者运行的product、target,进行上下文的切换。

开发者只需单击右上角的图标4.png打开product target管理面板。

5.png

总结下,在使用DevEco Studio 3.1的差异化构建打包功能时,通过在工程级别和模块级别下build-profile.json5文件内定义配置product和target,然后在管理界面选择需要打包的product和target,Build一下,就能实现一个工程构建打包出不同的APP包和HAP包。后续将会提供差异化构建打包更多功能,敬请期待。

单击访问DevEco Studio官网


更多关于HarmonyOS 鸿蒙Next DevEco Studio 3.1差异化构建打包,提升多版本应用开发效率的实战教程也可以访问 https://www.itying.com/category-93-b0.html

12 回复

不同的Product 我如何配置不同的图标 应用名称 文件路径 应用访问路径等其他元素

更多关于HarmonyOS 鸿蒙Next DevEco Studio 3.1差异化构建打包,提升多版本应用开发效率的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


请问下现在有针对企业应用的分发方式吗?目前鸿蒙原生应用是都需要上架华为商店才能安装!不同企业功能相似 只是变更图标 应用名称等简单信息的如何分发,

代码中是否可以获取到当前使用product的相关信息

不错,大赞

学习一下“ψ(`∇´)ψ”

请问这个是给你打包出多个app/hap包,还是一个app/hap包在应用市场安装的时候生成出定制的app/hap包?

你好,是根据前面定制的多个product或target,然后按照需求来编译构建打包出不同的APP包和HAP包捏,

请问包名是一样的吗?能否通过这个功能,为低SDK版本和高SDK版本生成出不同的app/hap包,然后再上架应用市场?

一个product里的的包名都是一样的, 不同包名可以通过不同的product配置捏,然后暂时不支持配置不同的SDK版本哈,

HarmonyOS 鸿蒙Next DevEco Studio 3.1 提供了差异化构建打包功能,旨在提升多版本应用开发的效率。该功能允许开发者针对不同设备类型、系统版本或特定需求,快速生成不同的应用包,从而简化开发和维护流程。

在DevEco Studio 3.1中,差异化构建打包主要通过配置项目中的build.gradle文件实现。开发者可以在该文件中定义多个产品风格(product flavors),每个风格对应一个特定的应用版本。例如,可以为智能手表和智能手机分别定义不同的风格,并指定各自的资源文件、依赖库等。

此外,DevEco Studio 3.1还支持自动化构建脚本,开发者可以编写脚本来自动化处理构建、打包和部署等任务,进一步提高开发效率。

利用这些功能,开发者可以轻松管理多个应用版本,确保每个版本都能针对其目标设备和用户群体进行优化。这不仅有助于提升用户体验,还能降低开发和维护成本。

请注意,为了确保差异化构建打包功能的正确性和效率,开发者应仔细阅读DevEco Studio 3.1的官方文档,并遵循最佳实践进行配置和开发。

如果问题依旧没法解决请联系官网客服,官网地址是:

https://www.itying.com/category-93-b0.html

回到顶部