You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rooted Android 7.0设备执行su命令遇error=13权限拒绝问题求助

解决Android应用执行su命令报Permission Denied的问题

问题描述

在已Root的Android 7.0设备上,尝试通过应用以root身份执行su root 'whoami'命令验证权限,代码逻辑无语法错误,且通过adb shell su root 'whoami'能正常返回root,但应用内运行时抛出java.io.IOException: Cannot run program "su": error=13, Permission denied异常,即使使用绝对路径/system/xbin/su也无法解决。

可能原因及解决方案

1. Root权限未授予应用

多数Root管理工具(如Magisk、SuperSU)会对每个请求Root权限的应用做授权校验。应用首次调用su时,系统会弹出授权弹窗,若用户未允许或授权被取消,就会触发权限拒绝。

  • 处理方式:打开Root管理工具,找到测试应用me.rapierxbox.test,确认已授予其Root权限。

2. 命令参数格式错误

Runtime.getRuntime().exec()直接传入带空格的命令字符串时,会被错误拆分参数。"su root 'whoami'"会被解析为执行su,参数为root、'whoami',单引号在Android Shell中无法被正确识别。

  • 处理方式:改用字符串数组传递命令,避免参数解析问题:
public String runAsRoot() {
    try {
        // 用字符串数组传递命令,确保参数被正确解析
        String[] cmd = {"su", "-c", "whoami"};
        Process process = Runtime.getRuntime().exec(cmd);

        BufferedReader reader = new BufferedReader(
                new InputStreamReader(process.getInputStream()));

        int read;
        char[] buffer = new char[4096];
        StringBuffer output = new StringBuffer();
        while ((read = reader.read(buffer)) > 0) {
            output.append(buffer, 0, read);
        }
        reader.close();

        process.waitFor();

        return output.toString().trim();
    } catch (IOException e) {
        throw new RuntimeException(e);
    } catch (InterruptedException e) {
        throw new RuntimeException(e);
    }
}

说明:su -c用于指定要执行的命令,确保whoami在root环境下被正确执行。

3. SELinux限制

Android 7.0及以上版本默认启用SELinux强制模式,可能阻止应用执行su命令。

  • 处理方式:
    1. 临时关闭SELinux(仅用于测试):通过adb执行adb shell setenforce 0,重新运行应用测试。
    2. 永久解决:若使用自定义ROM,可修改SELinux规则;若使用Magisk,确保Magisk已正确挂载并绕过SELinux限制。

4. su二进制文件权限问题

即使/system/xbin/su是全局可执行,也可能存在权限设置错误或SELinux上下文限制。

  • 处理方式:通过adb检查su文件权限:
adb shell ls -l /system/xbin/su

正常权限应为-rwsr-xr-x(setuid位已设置),若权限不符,执行:

adb shell chmod 6755 /system/xbin/su

同时检查SELinux上下文:

adb shell ls -Z /system/xbin/su

确保上下文为u:object_r:su_exec:s0或其他允许应用执行的合法上下文。


内容的提问来源于stack exchange,提问作者RapierXbox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 20:18:20