【HarmonyOS】关于鸿蒙原生项目多环境的配置和管理
开发语言:ArkTs
开发工具:DevEco Studio 5.0.0 Release
API 版本:API 12
demo 演示Gitee:harmony-multiEnv.git
在开发中为了数据隔离和开发规范,一般情况下都需要配置多环境,方便开发、测试、部署,比如:dev、test、sit、gray、release 等,不同公司在多环境使用上不尽相同,本文使用 dev、test、release 三个环境演示鸿蒙的多环境。
一、开发工具配置多环境
1、环境切换入口
在DevEco Studio
开发工具的工具条中,点击瞄准镜
图标即可进行环境的切换。

2、配置签名(debug 和 release)
打开工具栏File - Project Structure - Project - Signing Configs
,默认工程只有一个default
签名配置,可点击+
或-
添加删除配置,签名配置完成后,在工程目录下的build-profile.json5
文件中可查看signingConfigs
字段的签名配置。<br>本文演示配置debug
和release
两个签名。

3、创建多环境配置文件
在entry/src/main/resources/rawfile
目录下创建三个环境对应的配置文件,取名为app_config_dev.json
、app_config_test.json
和app_config_release.json
。<br>每个配置文件包含相同的三个字段:<br>ServerUrl
表示请求服务器地址、ResourceUrl
表示资源服务器地址、release
表示是否为生产环境。

4、配置工程支持多环境
配置
products
在工程目录下的build-profile.json5
文件中配置products
字段,可在默认的数据中新增arkOptions - buildProfileFields - APP_CONFIG
字段,用来配置每个环境对应的配置文件。APP_CONFIG
为自定义,可自行改名。
配置
modules
在工程目录下的build-profile.json5
文件中配置modules
字段,在默认的数据targets - applyToProducts
中新增步骤 1 中的各个环境。

5、获取当前环境配置信息
创建AppConfig.ets
文件,用来获取环境配置文件,并解析文件数据。BuildProfile
为使用开发工具切换环境后,build
工程生成的编译文件,用来获取当前环境下的环境配置信息。

6、生效当前环境信息
本文使用AbilityStage
作为初始化环境信息的类,关于AbilityStage
的介绍可查看官方文档介绍。
创建
HMAbilityStage.ets
类,继承AbilityStage
,重写onCreate()
方法。在
entry/src/main/module.json5
文件中的配置srcEntry
字段值为HMAbilityStage.ets
文件的相对路径。

二、APP 内动态切换环境
创建环境切换页面,用于切换不同环境,切换环境时再次调用AppConfig
的初始化方法,传入指定配置文件路径即可。
示例中未进行数据持久化记录上次选中的环境,真正项目中可本地存储环境,下次启动使用切换后的环境配置信息

结尾
如大家发现文章描述有问题或有更好的方案,还请评论回复,一起探讨学习,感谢!
版权声明: 本文为 InfoQ 作者【走向菜鸟的菜鸟】的原创文章。
原文链接:【http://xie.infoq.cn/article/30194561d2a8c49257c2e32d9】。文章转载请联系作者。
评论