dart - Flutter Dart Process.run Unhandled Exception: ProcessException: 系统找不到指定的文件
问题描述
我正在尝试使用 dart 运行命令行Process.run
这是我的代码
var result = await Process.run('axmldec', [ '-o','C:/test/output.xml'
, 'C:/test/AndroidManifest.xml' ]);
认为问题是斜线/所以我也试过这个
var result = await Process.run('axmldec', [ '-o','C:\\test\\output.xml'
, 'C:\\test\\AndroidManifest.xml' ]);
试过 C: 和 D: 驱动器没有运气。我得到的错误是
Command: axmldec -o D:/test/output.xml D:/test/AndroidManifest.xml
#0 _ProcessImpl._start (dart:io-patch/process_patch.dart:390:33)
#1 Process.start (dart:io-patch/process_patch.dart:36:20)
#2 _runNonInteractiveProcess (dart:io-patch/process_patch.dart:565:18)
#3 Process.run (dart:io-patch/process_patch.dart:47:12)
#4 Home._testUnzip (package:apk_analysis/main.dart:112:32)
#5 Home.build.<anonymous closure>.<anonymous closure> (package:apk_analysis/main.dart:60:25)
#6 _rootRunUnary (dart:async/zone.dart:1362:47)
#7 _CustomZone.runUnary (dart:async/zone.dart:1265:19)
#8 _FutureListener.handleValue (dart:async/future_impl.dart:152:18)
#9 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:704:45)
#10 Future._propagateToListeners (dart:async/future_impl.dart:733:32)
#11 Future._completeWithValue (dart:async/future_impl.dart:539:5)
#12 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:254:13)
#13 FilePickerCross.importMultipleFromStorage (package:file_picker_cross/file_picker_cross.dart)
<asynchronous suspension>
当我在命令行中运行相同的命令时,它可以正常工作。
解决方案
我找到了解决方案。问题似乎是命令本身的路径“axmldec”
尽管有它的环境变量,飞镖进程没有识别它。我使用了完整路径并且它有效
var result = Process.run('c:\\tool\\axmldec.exe', [ '-o','D:\\test\\output.xml'
, 'D:\\test\\AndroidManifest.xml' ]);
推荐阅读
- javascript - 如何在 UI 上编辑文本并使用 Javascript 更新 localStorage 中的更改
- django - Django - 为什么我应该扩展用户而不是创建我的一个用户类
- java - 将数据从外部文件(csv)导入嵌入式 sqlite 数据库
- javascript - 如何显示给定 div 的所有结果,而不仅仅是一个 - puppeter
- excel - excel中的部分匹配,匹配条件中的多个值以匹配列表
- javascript - React JS:意外使用“事件”无限制全局变量
- python - Python Schedule - 在服务器启动时执行
- css - 如何为图像添加黑色悬停?
- python - 在 Python 中运行 VBScript:错误 Microsoft VBScript 运行时错误:ActiveX 组件无法创建对象
- windows - Windows 上的 Git:如何忽略名称中带有点的文件夹