我有一部运行 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)
我还添加了android.permission.ACCESS_SUPERUSER
根据我的清单,但这似乎没有任何区别。
您可以考虑以这种方式运行 su 进程:
ProcessBuilder mProcess = new ProcessBuilder()
.command("/system/xbin/su")
.redirectErrorStream(true).start();
OutputStream out = mProcess.getOutputStream();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)