Android - Die programmgesteuerte Ausführung von su-Befehlen funktioniert nicht
Ich brauche meine App, um einige @ durchzuführsu
befiehlt programmgesteuert (Telefon ist gerootet).
Wenn Sie mit adb fertig sind, funktionieren die Befehle.
Zum Beispiel:su -c "mkdir /sdcard/testdir"
erstellt ein Verzeichnis mit dem Namen "testdir" in /sdcard
Wenn ich anrufe:
p = Runtime.getRuntime().exec("su -c \"mkdir /sdcard/testdir\"");
p.waitFor();
Es geht einfach weiter und es geschieht keine Änderung.
Ich habe versucht, die Eingabe zu lesen:
DataInputStream dis = new DataInputStream(p.getInputStream());
while((temp = dis.readLine())!=null)
Log.d(ctx.TAG,"she,ll:"+temp);
Aber es meldet nichts (Schleife macht 0 Iterationen).
Hat jemand jemals vor diesem Problem konfrontiert? Wie kann es gelöst werden? Nicht-su-Befehle funktionieren heutzutage programmgesteuert mit dieser Methode.
Hinweis: Ich gabmkdir
als Beispiel (ich weiß, dass es nicht unbedingt su erfordert). Ich brauche viele verschiedene Befehle, um unter @ ausgeführt zu werdesu
Vielen Dank
EDIT: wenn ich @ anrusu -c "id"
Programmatisch gibt es eine Ausgabe mit der UID = 0.