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.

Ответы на вопрос(4)

Ваш ответ на вопрос