【问题标题】:How to run shell commands using dart on macOS如何在 macOS 上使用 dart 运行 shell 命令
【发布时间】:2020-06-18 09:48:45
【问题描述】:

我使用 Dart 进程在 macOS 上制作 shell 命令。我使用 Flutter 制作了 macOS 应用程序。现在我想从应用程序运行 shell 命令。

应用运行命令

/Users/lihongjun/shell/libs/zipalign -v 4 "/Users/lihongjun/Downloads/app-release.apk" "/Users/lihongjun/Documents/test/tempApk/app_aligned.apk" , 

错误:

 sh: /Users/Shared/shell/libs/zipalign: Operation not permitted

我搜索了很多但我无法解决这个问题,例如process_runner,shell,系统插件。

如果我在 mac 的终端上执行 shell,它运行良好。

bool rsult = System.invoke('/Users/Shared/shell/libs/zipalign -v 4');
print('result:$rsult');
ProcessCmd cmd = ProcessCmd('java', ['-version'],runInShell: false,);
runCmd(cmd).then((value) {
  print(value.stdout.toString());
});

现在我想在 Dart 代码中使用相同的代码来制作 shell 命令。

我该怎么做?谢谢!

【问题讨论】:

    标签: macos shell flutter dart


    【解决方案1】:

    由于您使用的是 Flutter,这可能对您没有用处,但要回答标题中的问题(对于任何偶然发现本文编写非 Flutter 应用程序的人),您应该查看 dart:io库及其run 方法:

    https://api.dart.dev/stable/2.10.5/dart-io/Process/run.html

    启动一个进程并以非交互方式运行它直到完成。进程运行可以使用指定的参数执行。

    【讨论】:

      猜你喜欢
      • 2023-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-23
      相关资源
      最近更新 更多