android - 无法在 root 设备上运行程序 "su"

标签 android root android-permissions su

我有一部运行 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/

相关文章:

android - 如何使用 root 权限编译 Android 内核?

linux - 从启动器以 root 身份运行 Pycharm

android - Android 蓝牙 RSSI 值的含义

android - 如何在Preferences Activity中重启应用或返回LAUNCHER页面?

javascript - 使用文本组件在 React Native 中牢不可破的行

Android busybox sed : bad option in substitution expression

在没有 root 权限的情况下更改 Linux 中的网络设置

android - 致命异常 : java. lang.SecurityException 未经许可 com.google.android.c2dm.permission.RECEIVE

android - <使用权限> vs android :permission

Android 6.0 - 无需请求许可即可将文件下载到外部存储