在 Java 中,我可以有这样的东西:
Process p = Runtime.getRuntime().exec("su");
DataOutputStream pOut = new DataOutputStream(p.getOutputStream());
pOut.writeBytes("find / -perm -2000 -o -perm -4000\n");
pOut.writeBytes("ps\n");
pOut.writeBytes("ls\n");
pOut.writeBytes("exit\n");
pOut.flush();
p.waitFor();
我知道要在 JNI 方法中执行 find 命令,我们可以使用 system 或 popen 函数。但是不知道如何用su权限执行?
PS:由于系统函数fork了一个新的子进程。我想要产生一个子进程来执行多个命令,就像在 Java 中一样。
最佳答案
我不明白你使用 system() 来执行有什么意义,system() 不会返回你的流来读取输出。
我认为你应该试试 popen() 而不是
关于android - 在Android中的JNI方法中以 super 用户权限执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12469403/