Ho scritto questo snippet per elevare i permessi a root ed effettuare delle operazioni che altrimenti sarebbero negate:
1TextView tv = (TextView) findViewById(R.id.test);
2
3Process p;
4try {
5p = Runtime.getRuntime().exec("su");
6DataOutputStream os = new DataOutputStream(p.getOutputStream());
7os.writeBytes("echo \"Hi Mom!!!!!!!!\" >/system/sd/ciccio.txt\n");
8os.writeBytes("exit\n");
9os.flush();
10try {
11p.waitFor();
12if (p.exitValue() != 255) {
13tv.setText("OK!");
14}
15else {
16tv.setText("Error");
17}
18} catch (InterruptedException e) {
19// TODO Auto-generated catch block
20e.printStackTrace();
21}
22} catch (IOException e) {
23// TODO Auto-generated catch block
24e.printStackTrace();
25}
26
E' solo un esempio, è necessario implementare la parte relativa alle eccezioni e a ciò che bisogna effettivare fare con la shell che ha i permessi di root.
Questo snippet attiverà l'activity presente in Superuser.apk e garantirà la scalata di privilegi alla shell eseguita