1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. Gast3920, 16.12.2010 #1
    Gast3920

    Gast3920 Threadstarter Android-Hilfe.de Mitglied

    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?
     
  2. Gast3920, 16.12.2010 #2
    Gast3920

    Gast3920 Threadstarter Android-Hilfe.de Mitglied

    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);
     
  3. Fr4gg0r, 16.12.2010 #3
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    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.
     
  4. Gast3920, 16.12.2010 #4
    Gast3920

    Gast3920 Threadstarter Android-Hilfe.de Mitglied

    Danke, aber mit dem Zweiten Funktionierts es schon wie ich es wollte, don't touch a running code, in diesem Fall xD
     

Diese Seite empfehlen