HarmonyOS鸿蒙Next中开发阶段如何打包指定环境,类似iOS的Xcode有三个环境选择对应变量实现定制化

HarmonyOS鸿蒙Next中开发阶段如何打包指定环境,类似iOS的Xcode有三个环境选择对应变量实现定制化 开发阶段怎么打包指定什么环境,以ios的xcode为例,有三个环境,选择对应的,就会注入对应环境的变量,我可以根据变量做定制化的事,那么鸿蒙这边怎么做

3 回复

可以使用getBundleInfoForSelfSync( GET_BUNDLE_INFO_WITH_APPLICATION ) 中的appInfo.debug实现 : https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-bundlemanager-applicationinfo-0000001820880573

具体步骤可参考: https://developer.huawei.com/consumer/cn/blog/topic/03152818204020019

更多关于HarmonyOS鸿蒙Next中开发阶段如何打包指定环境,类似iOS的Xcode有三个环境选择对应变量实现定制化的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,可通过创建不同的配置文件实现环境定制化。在AppScope目录下的app.json5文件中定义自定义字段,例如"envConfig": “dev”。在模块级build-profile.json5中配置不同的编译构建任务,通过ohos-build插件的buildMode参数区分环境。打包时使用–mode参数指定构建模式,例如–mode dev,系统会自动加载对应环境的配置参数。这种方法类似iOS的Xcode环境配置机制,无需依赖Java或C语言实现。

在HarmonyOS Next中,可以通过模块化配置与编译构建系统实现类似Xcode的多环境打包。具体方案如下:

  1. 使用config.json配置环境变量src/main/resources/base/profile/目录下的config.json中定义环境参数:
"config": {
  "env": "dev",
  "apiUrl": "https://dev.example.com"
}
  1. 创建多环境配置文件 在项目根目录创建env/文件夹,分别建立:
  • env/dev.json
  • env/staging.json
  • env/prod.json 各文件包含对应环境的配置参数。
  1. 通过编译脚本动态注入build-profile.json5中配置编译选项:
"buildOption": {
  "selectedEnvironment": "dev"
}

使用hvigor脚本在编译时动态替换config.json中的环境变量。

  1. 运行时获取环境变量 在代码中通过@Config注解或getContext().getResourceManager().getConfig()读取配置:
@Config('env') env: string
  1. 命令行打包指定环境
hvigorw assemble --mode prod

这种方案支持开发/测试/生产环境的隔离配置,可通过编译参数快速切换环境,实现与Xcode Schemes类似的效果。环境相关的API地址、功能开关等参数均可通过配置文件管理。

回到顶部