Flutter:使构建时环境变量可用于代码

2024-04-19

如何让构建时环境变量可用于 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

而且这些更改似乎是精心挑选的,因此我们很可能会在即将发布的稳定版本中看到它们(祈祷)

Update

所以新的flutter稳定版本刚刚推出。它包含这些更改--dart-define。因此从 1.17 开始,您可以使用此键为您的 Flutter 项目定义编译时变量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flutter:使构建时环境变量可用于代码 的相关文章

随机推荐

  • 如何在谷歌自定义菜单中制作图标[重复]

    这个问题在这里已经有答案了 在 Google 应用程序中 文档 表格等 是否可以使自定义菜单中的图标与插入菜单中的图标相似 如果是这样我该怎么办 html 服务 图表 链接 图像旁边 甚至粗体 斜体等旁边的内容 Thanks 没有公开的方法
  • 如何将秒转换为 hhmmss

    我到处寻找将秒转换为 hh mm ss 但找不到合适的 我创建了一个程序 允许用户输入两个不同的时间 然后计算差异 输入的时间以 hh 3600 mm 60 ss 分割 然后转换为秒并相互减去以计算秒差 例如 12 12 12 和 13 1
  • 如何确定两个泛型类型值是否相等?

    Update 我很抱歉 我的示例代码包含一个错误 导致很多我不理解的答案 代替 Console WriteLine 3 this Equals go1 Equals go2 我本来想写 Console WriteLine 3 this Eq
  • 更改 Android 操作栏菜单项的点击图标

    我正在使用 Sherlock 操作栏 我的操作栏上有 2 个项目 当选择该项目 活动 时 我想更改图标的图像 这是我的Java代码 Override public boolean onPrepareOptionsMenu Menu menu
  • Jquery - DataTables [tableTools]:仅导出可见行

    我刚刚开始使用 jQuery DataTables 使用DataTables的tableTools 是否可以仅导出可见行而不是所有行 例如 如果分页设置为 10 我预计只会导出 10 行 搜索结果也是如此 这是代码的一部分 document
  • BMP280 ServiceSpecificException:I/O 错误(代码 5)

    我尝试使用 AndroidThings 来测量 Raspberry Pi 3 和 BMP280 的温度 我选择3 3V是因为BMP280规格 https learn adafruit com adafruit bmp280 barometr
  • 如何将可以为 null 的值或数组隐式包装到 Scala 选项中

    我在 Jar 文件中包含这个 Java 类 作为 Scala 程序的依赖项 如 Axis jar class MyClass private String someStrings public String getSomeStrings r
  • 将 OnItemSelectedListener 添加到 Spinner

    我有一个按钮和一个微调器 最初是隐藏的 当用户按下按钮时 微调器会填充项目并变得可见 现在我想将 OnItemSelectedListener 添加到微调器中 我尝试了很多教程但没有运气 这是我的 OnCreate 函数 public vo
  • Seaborn 直方图与大数据

    我正在尝试绘制 300 万行大数据集的漂亮直方图 我有 2CPU 16GB RAM 尽管我提供了垃圾箱 但我从未得到过任何线索 有没有更有效的方法来绘制直方图 请参阅下面的代码 df0 dd read csv filename sep he
  • 使用正则表达式清除工作区中的变量(例外)

    我想清除工作区中的所有变量 但有一些由正则表达式定义的例外 功能clear有一个附加选项 regexp clear regexp expr1 exprN清除与任何一个匹配的所有变量 列出的正则表达式 该选项仅清除变量 所以我正在寻找相反的东
  • 快速应用图像的 uibutton 动画

    我想通过依次更改按钮上的两个图像来应用动画效果 我已经应用了以下代码 但无法看到动画效果 我已经正确应用了 IBOutlets var image1 UIImage UIImage named img mic off var image2
  • Google应用程序脚本复制文档页面

    我在 Google 文档中有一个包含一页的模板文档 我想创建一个新文档 其中 N 页每页都与模板文档中的一页相同 我怎样才能做到这一点 请看一下这个帖子 https stackoverflow com questions 10692669
  • 错误:系列'对象没有属性'包含'”

    我搜索 DataFrame 的所有列 第一列除外 并添加一个带有匹配列名称的新列 Matching Columns 当我尝试在测试我的模式是否包含在一行中之前删除所有点时 我收到错误 这有效 keyword 123456789 f lamb
  • iPhone - 可以不显示键盘但仍然在 UITextField 中显示光标吗?

    我有一个自定义键盘 我想在用户点击 UITextField 时显示 但同时我想在文本字段中显示光标 如果为 canBecomeFirstResponder 返回 NO 则它不会显示默认键盘 但也不显示光标 有人可以帮我吗 Thanks 您问
  • 如何去掉 CR (^M) 并保留 LF (^J) 字符?

    我正在尝试使用 Hexl 模式手动从文本文件中删除一些特殊字符 但不知道如何在 Hexl 模式下删除任何内容 我真正想要的是删除回车符并保留换行符 Hexl 模式是执行此操作的正确方法吗 无需寻找替代 就用吧 M x delete trai
  • 该文件无法打开,因为您无权查看它(真实设备)

    我知道有人问过类似的问题 但我找不到任何可以解决我的问题的东西 就我而言 我开发了一个 iOS 应用程序 Xcode 13 4 用于从我使用选择的 CSV 文件导入和解析数据UIDocumentPickerViewController 在模
  • 是否应该尝试防范 MVC 视图中的空引用异常/索引越界异常?

    我想发表评论这个问题的 https stackoverflow com questions 1005819 can we unit test view v of mvc接受的答案 现在视图不是已经放弃了后面的代码了吗 那么你要测试什么 指出
  • 在tensorboard中创建日志目录

    我正在尝试学习如何使用张量板 我希望它在我的程序中运行 我不明白如何创建日志目录 这些是我运行张量板的线路 summary writer tf train SummaryWriter tensorflow logdir sess graph
  • 为什么使用“new DelegateType(Delegate)”?

    好吧 假设您在某个类中定义了一个委托 public delegate void StringDelegate string s 另一个类实现了一个方法 public static void StringWriter string s 在我正
  • Flutter:使构建时环境变量可用于代码

    如何让构建时环境变量可用于 Flutter 应用程序中的代码 我的具体用例是将应用程序版本号注入并将哈希提交到调试屏幕中 此信息在构建时可用 但在运行时不可用 我本来希望能够做这样的事情 flutter run dart define AP