libsuperuser实时获取命令输出

安德里亚993

我从未使用过libsuperuser,而仅使用过roottools。现在,我想切换到libsuperuser,但是我没有找到一种方法来以root身份调用命令并读取命令的输出,而无需等待命令完成。使用roottools很容易,因为它有一个方法,该方法每次在进程将新行写入stdout时都被调用。但是使用libsuperuser我只发现Shell.SU.run()仅在过程完成时才返回输出。如何使用libsuperuser实时读取输出行?

施克奈德

您必须使用Shell.Interactive.addCommand()其回调:

Shell.Interactive rootSession = new Shell.Builder().useSU().open(/*...*/);

会话打开后,您可以添加命令:

rootSession.addCommand(new String[] { "ls -l /sdcard" },
    1, // a command id
    new Shell.OnCommandLineListener() {
        @Override
        public void onCommandResult(int commandCode, int exitCode) {
            // ...
        }
        @Override
        public void onLine(String line) {
            // ...
        }
    });

onLine(String line)就是您想要的。

请参阅Chainfire的libsuperuser存储库中的示例代码“ InteractiveActivity”

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

子流程命令的实时输出

来自分类Dev

获取命令“&”的输出

来自分类Dev

从gevent-subprocess获取实时标准输出?

来自分类Dev

使用子进程获取 print() 实时输出

来自分类Dev

如何获取ssh命令的输出?

来自分类Dev

Bash-获取命令输出

来自分类Dev

Bash:如何通过ssh命令实时过滤Tee输出?

来自分类Dev

在终端输出流中实时搜索;运行命令后

来自分类Dev

在终端输出流中实时搜索;运行命令后

来自分类Dev

实时显示外部命令的每一行输出

来自分类Dev

是否可以看到 execute_process 运行的命令的实时输出?

来自分类Dev

PyQT:在窗口中获取实时打印输出

来自分类Dev

如何从Java中的运行时执行获取实时输出?

来自分类Dev

实时获取macOS输出设备音频缓冲区

来自分类Dev

使用子进程获取实时和完整输出

来自分类Dev

从Java代码获取cmd命令的输出

来自分类Dev

从PowerShell命令输出中获取特定部分

来自分类Dev

命令行中的Sass获取输出

来自分类Dev

如何获取命令输出并填充数组?

来自分类Dev

Powershell从命令输出获取内容

来自分类Dev

在bash数组中获取shell命令的输出

来自分类Dev

python-执行命令并获取输出

来自分类Dev

如何在Deno中获取命令的输出?

来自分类Dev

从awk中的命令输出获取特定行

来自分类Dev

powershell从命令输出获取内容

来自分类Dev

在变量中获取彩色的命令输出

来自分类Dev

Shell:带超时命令,获取输出

来自分类Dev

如何通过rpyc获取命令的输出?

来自分类Dev

获取非阻塞命令行输出