1

我想先介绍一下我的情况,我正在制作一个内核调整器,它使用 传递各种 shell 命令Runtime.getRuntime().exec(...),它工作得很好,但问题是每次我运行带有 su 的 shell 命令时都会询问 su 权限。

我希望应用程序只请求一次许可,然后执行所有命令而不再次请求 su。目前我的应用程序有大约 30 行带有 su 命令的行,所以我的应用程序用户必须允许 su 访问 30 次才能使一切正常。

4

2 回答 2

2

一种可行的方法是使用 su 运行 shell 并将各种命令通过管道传输到希望生成的 root shell 进程的标准输入中。这意味着 su 只使用一次。

执行此操作的代码已在此处多次介绍,因为人们希望使用无法在 su 命令行上传递的参数运行命令,因此必须通过管道将其传递到生成的进程中。

于 2012-06-24T15:03:54.513 回答
0

我通过在异步任务中为我的根调用使用相同的接口解决了这个问题,最初我在片段中需要时单独使用方法,这导致一次又一次地询问权限。Bu 然后将其更改为一种标准的 exec 方法,并使用它每次都进行系统调用。它修复了错误。

于 2016-02-14T13:58:20.883 回答