执行 "su "命令时,程序性地抛出 "Permission Denied "异常。

问题描述 投票:0回答:1

我试图在Android-9设备上以编程方式执行以下命令。

private void turnOnGpsCMD(){
        String[] cmds = {"cd /system/bin" ,"settings put secure location_providers_allowed +gps"};
        try {
            Process p = Runtime.getRuntime().exec("su");
            DataOutputStream os = new DataOutputStream(p.getOutputStream());
            for (String tmpCmd : cmds) {
                os.writeBytes(tmpCmd + "\n");
            }
            os.writeBytes("exit\n");
            os.flush();
        }
        catch (IOException e){
            e.printStackTrace();
        }
    }

但是它失败了,有以下异常。

java.io.IOException: Cannot run program "su": error=13, Permission denied

我使用的是root设备,我可以在adb shell命令提示符下执行上面使用的命令。link1, 链接2, 链接3, 链接4, 链接5)但都没有为我工作,请大家帮忙!先谢谢大家了。

android adb su
1个回答
0
投票

你需要root权限才能运行 su 在ADB上运行命令。

在您运行 su 在ADB上使用命令,请检查设备是否已经root,然后才可以使用。

© www.soinside.com 2019 - 2024. All rights reserved.