2016-08-02 10 views
0

私はroot権限を持っています。私は、Androidのシステムフォルダにアクセスして編集するという新しい機能をテストしています。ルートレベルのシステムフォルダにアクセスするAndroid

しかし、私のコードは何も変わっていないようです。 Marshmallow CM 13.

Process p; 
    try { 
     // Preform su to get root privileges 
     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/etc/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 
       toastMessage("root"); 
      } 
      else { 
       // TODO Code to run on unsuccessful 
       toastMessage("not root"); 
      } 
     } catch (InterruptedException e) { 
      // TODO Code to run in interrupted exception 
      toastMessage("not root"); 
     } 
    } catch (IOException e) { 
     // TODO Code to run in input/output exception 
     toastMessage("not root"); 
    } 
+0

代わりに、最初にアクセス許可を印刷してください。 – Shriram

+0

@Shriram adbシェル経由ですか? – silberbaum

答えて

2

/system上のイムは、ポイントは、デフォルトでROを装着されているマウント。ルートレベルの権限があっても、書き込む唯一の方法は、RWとして再マウントすることです。また、Lollipop以来のSE Android(Android用SE Linux)では、いくつかの問題が発生する可能性があります。プラットフォームに組み込まれているSE Androidのセキュリティポリシーがあると、ルートの場合でもファイルシステムの特定の部分へのアクセスが制限されます。

関連する問題