Android-выполнение команд su программно не работает
Мне нужно мое приложение, чтобы выполнить некоторыеsu
команды программно (телефон рутирован).
Когда все сделано с помощью ADB, команды работают.
Например:su -c "mkdir /sdcard/testdir"
создает каталог с именем «testdir» в / sdcard.
Когда я звоню:
p = Runtime.getRuntime().exec("su -c \"mkdir /sdcard/testdir\"");
p.waitFor();
Он просто движется, и никаких изменений не происходит.
Я попытался прочитать ввод:
DataInputStream dis = new DataInputStream(p.getInputStream());
while((temp = dis.readLine())!=null)
Log.d(ctx.TAG,"she,ll:"+temp);
Но он ничего не сообщает (цикл делает 0 итераций).
Кто-нибудь когда-нибудь сталкивался с этой проблемой раньше? Как это можно решить? Нет необходимости в том, что команды non-su работают программно с этим методом.
Примечание: я далmkdir
в качестве примера (я знаю, что это не обязательно требует su). Мне нужно много различных команд для выполнения подsu
Спасибо!
РЕДАКТИРОВАТЬ: когда я звонюsu -c "id"
программно, есть вывод, что uid = 0.