我无法在 Android 平台上通过 QProcess 运行任何命令。我正在使用 Qt 库。谁能解释如何在 Android 平台上从我的应用程序运行 shell 命令?
QProcess process();
process.execute("ls");
bool finished = process.waitForFinished(-1);
qDebug() << "End : " << finished << " Output : " << process.errorString();
如果我不指定超时,该过程不会完成。当我指定超时时,process.waitForFinished() 返回 false,比方说 10000 毫秒。
最佳答案
您的示例代码有问题,无法在任何平台上运行!
ls
命令不准确!此命令内置于 shell 程序中,例如 bash
。
代码中的另一个错误是 QProcess::execute
是 static function .
所以最后一行不会影响您尝试启动的过程。
所以你的代码应该是这样的:
QProcess process;
process.start("bash", QStringList() << "-c" << "ls");
bool finished = process.waitForFinished(-1);
关于android - 在 Android 平台上通过 QProcess 运行 shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41735932/