我试图在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)但都没有为我工作,请大家帮忙!先谢谢大家了。
你需要root权限才能运行 su
在ADB上运行命令。
在您运行 su
在ADB上使用命令,请检查设备是否已经root,然后才可以使用。