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

2024-03-17

如何运行命令并使用 Flutter/Dart 传递一些自定义参数,以便可以在main()调用例如:

flutter run -device [my custom arg]

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

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

谢谢。


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

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

Update

For

  • flutter run
  • flutter build apk
  • flutter build ios
  • flutter drive

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

其他键值对将作为 String.fromEnvironment、bool.fromEnvironment、int.fromEnvironment 和 double.fromEnvironment 构造函数中的常量提供。

欲了解更多详情,请参阅Flutter 1.17 不再有 Flavors,不再有 iOS Schemas。改变一切的命令参数 https://medium.com/@tatsu.ukraine/flutter-1-17-no-more-flavors-no-more-ios-schemas-command-argument-that-solves-everything-8b145ed4285d

Example

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

意识到const是必需的,并且变量名称区分大小写。

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

在 Flutter/Dart 中如何将参数从命令行传递到 main ? 的相关文章

随机推荐