gpt4 book ai didi

flutter - Codemagic - 为 Build 参数设置动态环境变量

转载 作者:行者123 更新时间:2023-12-04 10:11:13 24 4
gpt4 key购买 nike

我正在寻找一种在构建参数中管理动态环境变量的方法。

enter image description here

如果我为 TARGET_FILE 定义值,我就能让它工作和 FLAVOR在 CodeMagic 的环境变量部分。
但我的目标是在我的 git 存储库中指定值。所以我将能够改变它并进行动态构建。

我想我可以在预构建部分设置 env var。

enter image description here

以下是我的 pre-build.sh 的样本文件

# in my case it’s `dev`, `qa` and `prod`
export FLAVOR='qa'

# major and minor part of app version e.g. 1.0
export VERSION_NUMBER='1.0.0'

# this is the entry point of the app e.g. main_dev.dart
export TARGET_FILE="lib/main_$FLAVOR.dart"

我的构建仍然失败,因为 TARGET_FILE例如未指定
Target file "--flavor" not found.


Build failed :|
Failed to build for Android

我想知道是否有人遇到过这种情况

最佳答案

至于从 GitHub 配置构建,您可以使用 codemagic.yaml允许您定义 CodeMagic 构建配置的文件,包括环境变量 ( here is a docs )。

补充说明,只是一个提议))

我实际上不知道您的 Flavors 和 env 入口点发生了什么,但很可能您实际上可以摆脱两者。

例如,您可以使用 .env 文件和 flutter_config包将特定于环境的变量传递给 native 层,包括 plist 和 Gradle。此外,您可以将此 .env 文件加载到 Dart 代码中并使用其中的变量。最重要的是,您可以使用 this package使用终端命令生成 .env 文件(如果您不想创建任何 sh 脚本)))。与 .env 文件一起,它可以为 Dart 代码生成专门的 Dart 类。它还可以基于global env variables生成文件.

这样,所有特定于环境的配置都将被定义一次,除了构建工具之外,您不会在任何地方公开您的产品凭据,并且您不需要复制/粘贴多个入口点。

2020 年 8 月 5 日更新:

从 Flutter 1.17 开始,您可以使用 --dart-defines参数而不是 environment_config 和 flutter_config 包来定义编译时变量。您可以阅读有关此论点的更多信息 here

关于flutter - Codemagic - 为 Build 参数设置动态环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61325688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com