一尘不染

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

flutter

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

flutter run -device [my custom arg]

因此,我可以通过以下方式访问它:

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

谢谢。


阅读 1588

收藏
2020-08-13

共1个答案

一尘不染

无法执行此操作,因为在设备上启动应用程序时,也不会传递任何参数。

如果这是发展的,你可以传递-t lib/my_alternate_main.dartflutter run不同的设置之间轻松切换
,其中每个备用入口点文件调用同一个应用程序代码使用不同的参数或具有不同初始化的全局变量。

更新资料

对于

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

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

可以从String.fromEnvironment,bool.fromEnvironment,int.fromEnvironment和double.fromEnvironment构造函数中以常量形式获得的其他键值对。

有关更多详细信息,请参见Flutter
1.17,没有更多的风味,没有更多的iOS模式。改变一切的命令参数

const t = String.fromEnvironment("TEST");



flutter run --dart-define="TEST=from command line"

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

2020-08-13