Android: ejecutar comandos su de forma programática no funciona
Necesito mi aplicación para realizar algunossu
comandos programáticamente (el teléfono está rooteado).
Cuando termine de usar adb, los comandos funcionan.
Por ejemplo:su -c "mkdir /sdcard/testdir"
crea un directorio llamado "testdir" en / sdcard.
Cuando llamo:
p = Runtime.getRuntime().exec("su -c \"mkdir /sdcard/testdir\"");
p.waitFor();
Simplemente sigue adelante y no ocurre ningún cambio.
Traté de leer la entrada:
DataInputStream dis = new DataInputStream(p.getInputStream());
while((temp = dis.readLine())!=null)
Log.d(ctx.TAG,"she,ll:"+temp);
Pero no informa nada (el ciclo hace 0 iteraciones).
¿Alguien ha enfrentado este problema antes? ¿Cómo se puede resolver? Innecesario hoy en día, los comandos que no son suyos funcionan programáticamente con este método.
Nota: dimkdir
como ejemplo (sé que no necesariamente requiere su). Necesito muchos comandos variados para ejecutar bajosu
¡Gracias!
EDITAR: cuando llamosu -c "id"
programáticamente, hay una salida que uid = 0.