flutter - Flutter:使构建时环境变量可用于代码
问题描述
如何让构建时环境变量可用于 Flutter 应用程序中的代码?(我的具体用例是将应用程序版本号和提交哈希注入调试屏幕。此信息在构建时可用,但在运行时不可用)。
我曾希望能够做类似的事情:
flutter run --dart-define=APP_VERSION=0.1.2
接着,
const appVersion = String.fromEnvironment('APP_VERSION', defaultValue: 'development');
但这似乎不起作用(我使用的是 Flutter 1.12.13+hotfix.5),我不确定这是 Flutter 中支持的功能。
解决方案
从 1.17 版开始,您实际上可以做到这一点。最近 beta 和 dev 频道进行了更改,允许您定义编译时变量。您也可以像这样定义多个变量
flutter run --dart-define=APP_VERSION=0.1.2 --dart-define=SOME_OTHER_VAR=SOME_OTHER_VALYE
此外,这些更改似乎是精心挑选的,因此我们很可能会在即将发布的稳定版本中看到它们(手指交叉)
更新
因此,刚刚推出了一个新的稳定版本的颤振。它包含这些变化--dart-define
。所以从 1.17 开始,你可以使用这个键为你的 Flutter 项目定义编译时变量。
推荐阅读
- reactjs - npm run build 不为生产服务器创建构建文件夹
- angular - 创建 toast 时 showCloseButton 出错
- swift4 - 如何从swift 4中WKWebView中的evaluateJavaScript方法获取表单输入值?
- javascript - 如何从对象列表中创建单个对象?
- pandas - 重新格式化数据框列问题
- python - 从列表中删除密切匹配/相似的短语
- html - 使用 Updatepanel 更新 DIV 元素的 html 内容
- javascript - 将比较结果分配给变量 javascript
- excel - 如何使用 VBA 将多个 XML 文件导入 Excel 而不覆盖已导入的文件
- android-studio - Gradle 无法解析配置“:classpath”的所有工件