提问者:小点点

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


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

flutter run -device [my custom arg]

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

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

谢谢你。


共3个答案

匿名用户

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

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

更新

为了

  • flutter运行
  • flutter build apk
  • flutter build ios
  • 颤振驱动器

为此添加了--dart-定义=…命令行参数。

其他键值对将作为常量从String. from大环境、bool.from大环境、int.from大环境和double.from大环境构造函数中提供。

有关更多详细信息,请参阅Flutter 1.17不再使用Flavors,不再使用iOSSchemas。改变一切的命令参数

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

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

匿名用户

将命令行参数/环境变量添加到Android Studio Flutter项目。

快跑

或单击配置下拉选择器

附加参数中添加您的参数(如果没有空格,则引号可选)2.如果需要,请添加描述性名称

点击复制按钮,根据需要轻松添加更多配置版本

从下拉列表中选择您的运行配置

在代码中使用您的参数

例如。

const String version=String. from环境('VERSION');

匿名用户

main方法的参数可以使用参数--dart-entrypoint-args(简称:-a)声明,例如。

flutter run -d linux --dart-entrypoint-args some_file.xml