Quando uso di questo codice:Android Runtime.getRuntime() exec ("su") java.io.IOException: Permesso negato
process = Runtime.getRuntime().exec("su");
os = new DataOutputStream(process.getOutputStream());
c'è sempre un errore, tutte le idee? In esecuzione su un dispositivo virtuale Android
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
Non è ovvio? Vuoi ottenere i privilegi di super utente, ma Android ha delle restrizioni di sicurezza. –
Quindi, come posso risolverlo? – GuiYQ
Il tuo dispositivo è rootato? – Ben