Frage: Superuser und Busybox

G

Gast3920

Ambitioniertes Mitglied
10
Also, bin beim letzten schritt bei meinem programm, und brauche hilfe.
Ich muss halt dateien vom system kopieren und löschen.
Wenn ich das benutze funkt es nicht:
Code:
Runtime.getRuntime().exec("su busybox cp /data/data/com.android.providers.settings/databases/settings.db /sdcard/");
auch am pc nicht, ich musst erst su eingeben und dann busybox bla bla eingeben, sowohl am pc als auch am handy.

am pc ist es noch ok, weil es die su permission behaltet, aber wenn ich in java:
Runtime.getRuntime().exec("su"); eintippe, verschwinden die rechte nachdem ich es erstellt habe.

also wie kann ich das am besten lösen?
 
Hab es zum laufen gebracht,
für anderen, die es in zukunft gebrauchen können:

String [] hin = {"su", "-c", "busybox cp /data/data/com.android.providers.settings/databases/settings.db /sdcard/ErgoProxy/" };
Runtime.getRuntime().exec(hin);
 
jeder exec Befehl startet einen neuen linux prozess, somit läuft dein busybox befehl in einem anderem als dein root prozess (im ersten Beispiel).

Alternativ zum zweiten kann man sich auch den OutputStream vom Prozess holen (=Stdout) und dann die Befehle dort reinschreiben.
 
Danke, aber mit dem Zweiten Funktionierts es schon wie ich es wollte, don't touch a running code, in diesem Fall xD
 

Ähnliche Themen

M
Antworten
2
Aufrufe
628
Mozart40
M
M
  • MikelKatzengreis
Antworten
5
Aufrufe
126
swa00
swa00
R
  • Gesperrt
  • roland-senior
Antworten
2
Aufrufe
798
Fulano
Fulano
Zurück
Oben Unten