DevEco Studio 3.1差异化构建打包,提升多版本应用开发效率
HUAWEI DevEco Studio是开发HarmonyOS应用及服务的一站式集成开发环境。本次分享DevEco Studio 3.1上线的新特性-差异化构建打包,定制多目标构建产物。
很多应用需要根据具体业务来定制对应场景的工程,举个例子,同一个应用会因为场景的不同需定制为不同的版本,如VIP版、普通版等,开发者需要重复创建多个工程来适配这些场景,而这些工程之间可能只存在少量的代码差异,这样开发的大部分工作都是程序化的操作,不仅工作量大,还消耗时间。
为了解决此类问题,DevEco Studio 3.1提供差异化构建打包功能,在面对多场景开发时,开发者无需创建多个工程,可以在同一个工程中,创建多个product和target,在target中通过少量代码的差异化配置处理,再打包到不同的product中,生成对应场景的APP,这样的方式可以让代码、资源文件等高效复用,从而提升多版本应用的开发效率。

何为product、target?
通常一个工程由多个模块组成,工程的构建产物为APP包,APP包作为应用上架应用市场,由于不同的业务场景需定制不同的应用包,因此引入product的概念,一个product对应一个定制化APP包。
在工程内每一个entry/feature模块,都对应一个构建产物HAP包,由于同一个模块在不同的应用场景可能需定制不同的功能、资源,因此引入target的概念,一个target对应一个定制化的HAP包。
一个工程可以定制多个product,一个模块可定制多个target,开发者可以在一个工程中通过product和target组合搭配,构建打包成不同版本的应用。

同时,DevEco Studio 3.1提供了管理product / target的界面,来完成product target模型上下文的切换。
以Stage模型为例来详细说明
1、根据需求快速定制target
差异化构建打包功能支持定义target的名称, source源码集、资源,将这些可能存在差异的文件存放在不同的路径下,然后将对应场景下需要的功能、资源、配置放在相应的target中即可快速定制target。
开发者通过Entry/Feature模块下的build-profile.json5文件来完成target定制。

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

3、构建打包product target更方便
DevEco Studio 3.1提供了product target管理面板,便于开发者选择指定需编译构建或者运行的product、target,进行上下文的切换。
开发者只需单击右上角的图标
打开product target管理面板。

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

DevEco Studio 3.1差异化构建打包,提升多版本应用开发效率的更多相关文章
- Gradle 差异化构建
Compile 默认的依赖方式,任何情况下都会依赖. Provided 只提供编译时依赖,打包时不会添加进去. Apk 只在打包Apk包时依赖,这个应该是比较少用到的. TestCompile 只在测 ...
- Android Gradle基于参数化配置实现差异化构建
一.背景: 项目中有一些特殊的需求,如个别渠道集成腾讯bugly,个别渠道集成易观统计,不同的渠道集成不同的推送策略(如Oppo渠道优先Opush推送),不同的渠道拥有不同的第三方登录集成等等.这些需 ...
- 面对对象之差异化的网络数据交互方式--单机游戏开发之无缝切换到C/S模式
上一篇这里描写叙述了一个关于差异数据在开发过程中的一个长处,这里来演示另外一个特点:单机开发之无缝切换到C/S模式 一般C/S模式都面临一个问题: 就是开发过程中的调试难题,由于涉及到client和服 ...
- Vue根据不同的路由文件实现打包差异化
有些时候我们经常一个项目中开发不同的功能,有可能一个前端项目中夹杂着不同系统之间的需求,最后打包发布的时候经常会将与项目不相关的代码一同打包进去,实际来讲这种操作也是不严谨的.那有没有办法可以根据某些 ...
- 用前端姿势玩docker【五】快速构建中类Unix系统与Windows系统的差异化处理
目录 用前端姿势玩docker[一]Docker通俗理解常用功能汇总与操作埋坑 用前端姿势玩docker[二]dockerfile定制镜像初体验 用前端姿势玩docker[三]基于nvm的前端环境构建 ...
- 基于tomcat与Spring的实现差异化配置方案
起因 在实际开发过程中经常需要加载各种各样的配置文件..比如数据库的用户名密码,要加载的组件,bean等等..但是这种配置在各个环境中经常是不一样的....比如开发环境和测试环境,真实的生产环境.. ...
- [转]Android Studio系列教程六--Gradle多渠道打包
转自:http://www.stormzhang.com/devtools/2015/01/15/android-studio-tutorial6/ Android Studio系列教程六--Grad ...
- Android Studio系列教程六--Gradle多渠道打包
Android Studio系列教程六--Gradle多渠道打包 2015 年 01 月 15 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://stormzh ...
- 利用maven实现差异化配置
回顾过去 生产环境,测试环境,开发环境在不同的环境下会有各种各样的配置,比如数据库链接地址,账户名,密码等等.不同环境下都需要配置,但是配置却又不同.以前分享过一篇文章,介绍了我之前A公司的差异化配置 ...
- 查收新年礼物丨DevEco Studio 3.0 Beta2发布,20个新变化详解
HUAWEI DevEco Studio是开发HarmonyOS应用和原子化服务的一站式集成开发环境(IDE),为开发者提供工程模板创建.开发.编译.调试.发布等功能. 2021年12月31日,新版本 ...
随机推荐
- ui转py文件
ui文件转py文件并且使用 简单做一个笔记,以后忘了回来看看 转换 在QT Designer中创建完ui文件后,回到pycharm中,右键点击ui文件,选择pyuic 完成后获得了和ui文件同名的py ...
- ETL工具-KETTLE教程 实例实战4----转换(值映射、列转行,增加常量、增加序列等)
附:Kettle实战视频教程,需要的朋友可以看看学习下哈~~ kettle实战第一讲-文件和数据库表的互相转换处理_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili kettle实战第二讲-数据库单 ...
- linux中ping命令停不下来解决方案
linux的 ping 命令和windows不一样.windows默认只发送四个包的. 你可以使用ping -c 4 [ip/域名]这种方式来实现你想要的. linux控制台程序一般强制终止都是Ctr ...
- 视野修炼-技术周刊第76期 | Rolldown 开源
欢迎来到第 76 期的[视野修炼 - 技术周刊],下面是本期的精选内容简介 强烈推荐 Rolldown 开源 - Rollup 的锈化版 前端调试工具超全汇总 开源工具&技术资讯 OhMyLi ...
- 云流化:XR扩展现实应用发展道路上的新方向
扩展现实的发展已经改变了我们工作.生活和娱乐的方式,而且这才刚刚开始.扩展现实 (Extended reality, XR) 涵盖了沉浸式技术,包括虚拟现实.增强现实和混合现实.从游戏到虚拟制作再到产 ...
- 计算机网络-DNS以及FastGitHub
前言 你是否观察到过这种现象,在访问Github时,有的时候能正常访问,有的时候再次刷新就访问不了,那么能不能有什么办法能一直访问.答案是有,就是在DNS层面能保证一直稳定获取可用并且快速的IP,这就 ...
- 记录-new Date() 我忍你很久了!
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 大家平时在开发的时候有没被new Date()折磨过?就是它的诸多怪异的设定让你每每用的时候,都可能不小心踩坑.造成程序意外出错,却一下子 ...
- Ficow 陪你看 WWDC 2022
本文首发于 Ficow Shen's Blog,原文地址: WWDC22 - Xcode 14 新特性. 内容概览 前言 用好过滤器 Recap,节约你的宝贵时间 Essential,取其精华 必看内 ...
- FPGA之PLD的简单设计
FPGA之PLD的简单设计 1.实验原理 PLD是可编程逻辑器件的简称,是FPGA的前身(FPGA是在PLD的基础上发展出来的).从PLD设计可以感受早期可编程逻辑器件的特点,了解FPGA在器件层的原 ...
- oracle_fdw扩展使用中异常问题
Oracle_fdw 的使用介绍已经在之前的文章中介绍过了,具体见:https://www.cnblogs.com/kingbase/p/14846479.html. 本篇文章介绍一下可能碰到的问题处 ...