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包。后续将会提供差异化构建打包更多功能,敬请期待。
如需了解更多,点击【此处】访问HarmonyOS官网。
跳转:https://playground.harmonyos.com/#/cn/onlineDemo
- 蜜度索骥:以跨模态检索技术助力“企宣”向上生长
- 第十二届中国数字营销峰会完整议程公布(含嘉宾阵容)| 重磅
- 第二届中国(广州)国际汽车后市场展览会
- 世界智能制造博览会 WORLD INTELLIGENT MANUFACTURING EXPO
- 中国移动l腾讯l阿里l蔚来等企业大咖12月齐聚深圳!第四届中国互连技术与产业大会12月7日精彩召开!
- 第十七届诚邀提名 | “2024年度华强电子网优质供应商&电子元器件行业优秀国产品牌评选”重磅开启!
- 赋能粉体,共启新篇 2025江苏国际粉体技术装备展览会
- 2025中国(东莞)切削工业装备博览会 CHINA (DONGGUAN) CUTTING INDUSTRY EQUIPMENT EXPO
- 招商进行时|锁定全球行业资源,这场展会亮点不断,“新”意满满!
- 2025CAEE中国国际家电与消费电子制造业供应链展览会
- 南宁市在深圳举办“邕鹏同辉 产业相融” 招商推介及项目签约会
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。