1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

IOException - su-Shell

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von kunkka, 12.07.2011.

  1. kunkka, 12.07.2011 #1
    kunkka

    kunkka Threadstarter Neuer Benutzer

    Beiträge:
    10
    Erhaltene Danke:
    0
    Registriert seit:
    14.09.2010
    Moin moin,

    ich habe einen Post gefunden, wo mithilfe folgenden Codes ein Test auf root-Rechte ausgeführt wurde:

    Code:
    Process p;  
            	try {  
            	    // Preform su to get root privledges  
            	    p = Runtime.getRuntime().exec("su");   
            	    // Attempt to write a file to a root-only  
                        DataOutputStream os = new DataOutputStream(p.getOutputStream());  
                        os.writeBytes("echo \"Do I have root?\" >/system/sd/temporary.txt\n");  
            		  
            	     // Close the terminal  
            	     os.writeBytes("exit\n");  
            	     os.flush();  
                	     try {  
            	         p.waitFor();  
            		 if (p.exitValue() != 255) { 
            		     // TODO Code to run on success 
                             } 
    Ich bekomme jedoch trotz root-Rechte eine IOException auf meinem Smartphone - auf dem Xoom hingegen läuft es. Andere Root-Applikationen laufen problemlos.

    Woran könnte das liegen?

    MfG,
    kunkka
     
  2. Thyrion, 12.07.2011 #2
    Thyrion

    Thyrion Ehrenmitglied

    Beiträge:
    11,846
    Erhaltene Danke:
    2,451
    Registriert seit:
    21.07.2009
    Phone:
    Nexus 5X
    Ich vermute mal, auf deinem Smartphone gibt es das Verzeichnis (oder den Link) /system/sd nicht.
    Und Root-Rechte heißt auch nicht automatisch, dass du auf der System-Partition schreiben darfst.

    Dazu muss auf jeden Fall ein Remount her und je nach Gerät sogar noch im Bootloader Security OFF (S-OFF) gepatcht/geflasht werden.
     
  3. Fr4gg0r, 12.07.2011 #3
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    solche Fehler siehste dann in stdout bzw. stderr (Process.getOutputStream()).
    IOException fliegt wohl wegen dem p.waitFor(), vll. weil der Process davor schon beendet ist?
     
  4. Kranki, 12.07.2011 #4
    Kranki

    Kranki Ehrenmitglied

    Beiträge:
    3,831
    Erhaltene Danke:
    814
    Registriert seit:
    19.07.2009
    Tablet:
    Samsung Galaxy Tab 3 7.0 Lite
    Das steht doch in der Exception, wo die genau fliegt.
    Muss man nur im Stacktrace nachlesen.
     

Diese Seite empfehlen