android - 在 Android 平台上通过 QProcess 运行 shell 命令

标签 android qt qprocess

我无法在 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::executestatic 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/

相关文章:

java - 在android中使用Jsoup解析?

java - 如何使用Gson解析这种json字符串?

android - 抖动错误: Null check operator used on a null value

java - Activity 类型未定义方法 loadUrl(String)

c++ - osx : external program (qprocess) crash if parent run with open, 但如果父级直接运行则工作正常

c++ - 当 QMenu 的 QAction 之一未触发时,防止 QMenu 关闭

javascript - Angular.js,从 Angular 外部调用方法后更新 View

c++ - Q按钮 : How to know whether a "released" signal will be followed by a "clicked" signal?

c++ - 如何使用 QProcess 从特定文件夹执行类似 "qmake -v > 1.txt"的命令?

qt - QProcess::finished ( int exitCode, QProcess::ExitStatus exitStatus ) : exitcode 的可能值?