我有一部运行 Android N(AOSP 版本)的 root 手机。我正在尝试从我的应用程序获取 root 权限,但它一直被拒绝。这是我正在尝试的:
java.lang.Process p = runtime.exec("su");
DataOutputStream commandLine = new DataOutputStream(p.getOutputStream());
commandLine.writeBytes("rm /data/local/tmp/testfile\n");
commandLine.flush();
p.waitFor();
但是,它一直失败并出现错误:
W/System.err: java.io.IOException: Cannot run program "su": error=13, Permission denied
W/System.err: at java.lang.ProcessBuilder.start(ProcessBuilder.java:983)
W/System.err: at java.lang.Runtime.exec(Runtime.java:691)
W/System.err: at java.lang.Runtime.exec(Runtime.java:524)
W/System.err: at java.lang.Runtime.exec(Runtime.java:421)
W/System.err: at MainActivity$2.onClick(MainActivity.java:104)
我还在我的 list 中添加了 android.permission.ACCESS_SUPERUSER
但这似乎没有任何区别。
最佳答案
你可以考虑这样运行su进程:
ProcessBuilder mProcess = new ProcessBuilder()
.command("/system/xbin/su")
.redirectErrorStream(true).start();
OutputStream out = mProcess.getOutputStream();
关于android - 无法在 root 设备上运行程序 "su",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43461461/