我使用Dart process在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
我已经搜索了很多,但我不能解决这个问题,如进程_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命令。
我该怎么做?谢谢!
1条答案
按热度按时间o4tp2gmn1#
由于您使用的是Flutter,因此这可能对您没有什么帮助,但要回答标题中的问题(对于那些无意中编写非Flutter应用程序的人),您应该看看
dart:io
库及其run
方法:https://api.dart.dev/stable/dart-io/Process/run.html
启动流程并以非交互方式运行该流程直至完成。可以使用指定的参数执行流程运行。