dart - 如何在 Flutter/Dart 中将参数从命令行传递到 main?

您将如何运行命令并使用 Flutter/Dart 传递一些自定义参数,以便随后可以在 main() 调用中访问它们,例如:

flutter run -device [my custom arg]

那么我可以通过以下方式访问它:

void main(List<String> args) {
  print(args.toString());
}

谢谢。

最佳答案

没有办法做到这一点,因为当您在设备上启动应用程序时,也没有传递任何参数。

如果这是为了开发,你可以将 -t lib/my_alternate_main.dart 传递给 flutter run 轻松切换不同设置
其中每个备用入口点文件使用不同的参数或不同的初始化全局变量调用相同的应用程序代码。

更新

对于

  • flutter 运行
  • flutter 构建 apk
  • flutter build ios
  • flutter 驱动

为此添加了 --dart-define=... 命令行参数。

Additional key-value pairs that will be available as constants from the String.fromEnvironment, bool.fromEnvironment, int.fromEnvironment, and double.fromEnvironment constructors.

更多详情见Flutter 1.17 no more Flavors, no more iOS Schemas. Command argument that changes everything

示例

const t = String.fromEnvironment("TEST");
flutter run --dart-define="TEST=from command line"

请注意,const 是必需的,并且变量名区分大小写。

https://stackoverflow.com/questions/55004302/

相关文章:

android - 在 Flutter 的垂直列表中添加动态高度水平 ListView

architecture - flutter BLoC : Is using nested Stre

flutter - 了解 Flutter didChangeDependencies 机制

google-maps - 自定义 Flutter Google Map 中的中心位置按钮

flutter - 在 Flutter 中监听设备方向变化

dart - 如何根据背景图像更改文本颜色 - Flutter

testing - 如何在 Flutter 中测试私有(private)函数/方法?

dart - StreamBuilder 抛出 Dirty State 说 Invalid Argu

flutter - 在 Android Studio 中运行和热重载 flutter 的问题(坏状态

list - Flutter - 如何查询列表中的搜索项