Когда я использую этот код:Android Runtime.getRuntime() Exec ("су") java.io.IOException: Отказано в
process = Runtime.getRuntime().exec("su");
os = new DataOutputStream(process.getOutputStream());
всегда есть ошибка, любые идеи? Запуск на андроид виртуального устройства
W/System.err(3211): java.io.IOException: Error running exec(). Command: [su] Working Directory: null Environment: null
W/System.err(3211): at java.lang.ProcessManager.exec(ProcessManager.java:211)
W/System.err(3211): at java.lang.Runtime.exec(Runtime.java:174)
W/System.err(3211): at java.lang.Runtime.exec(Runtime.java:247)
W/System.err(3211): at java.lang.Runtime.exec(Runtime.java:190)
W/System.err(3211): at com.example.executeandroidtest.ShellUtils.execCommand(MainActivity.java:661)
W/System.err(3211): at com.example.executeandroidtest.MainActivity$3.run(MainActivity.java:410)
W/System.err(3211): at java.lang.Thread.run(Thread.java:818)
W/System.err(3211): Caused by: java.io.IOException: Permission denied
W/System.err(3211): at java.lang.ProcessManager.exec(Native Method)
W/System.err(3211): at java.lang.ProcessManager.exec(ProcessManager.java:209)
W/System.err(3211): ... 6 more
Разве это не очевидно? Вы хотите получить права суперпользователя, но у android есть ограничения безопасности. –
Итак, как я могу его решить? – GuiYQ
Является ли ваше устройство укорененным? – Ben