2016-05-04 14 views
0

を否定しました。私がボタンを押すと、スーパーユーザーはrootのアクセス権を正しく要求しますが、それでもログに拒否されたアクセス許可が表示されます。E/[エラー]:SH:/データ/データ/:許可は、私は</p> <pre><code>E/[Error]: sh: /data/data/: Permission denied </code></pre> <p>//データ/データに移動しようとする。しかし、私はなぜ理解していない、なぜ私はこのエラーを取得しています

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Button btnCon = (Button)findViewById(R.id.button1); 
    btnCon.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      RunWithRoot("su shell /data/data/"); 
     } 
    }); 
} 

private void RunWithRoot(String textView) { 
    try { 
     String line; 
     Process process = Runtime.getRuntime().exec(textView); 
     OutputStream stdin = process.getOutputStream(); 
     InputStream stderr = process.getErrorStream(); 
     InputStream stdout = process.getInputStream(); 

     stdin.write(("ls\n").getBytes()); 
     stdin.write("exit\n".getBytes()); 
     stdin.flush(); 

     stdin.close(); 
     BufferedReader br = 
       new BufferedReader(new InputStreamReader(stdout)); 
     while ((line = br.readLine()) != null) { 
      Log.d("[Output]", line); 
     } 
     br.close(); 
     br = 
       new BufferedReader(new InputStreamReader(stderr)); 
     while ((line = br.readLine()) != null) { 
      Log.e("[Error]", line); 
     } 
     br.close(); 

     process.waitFor(); 
     process.destroy(); 

    } catch (Exception ex) { 
    } 
} 

私の理解のために、誰かがこれをより良く理解するのを助けてくれることを願っています。 rootは一番上の許可です。

答えて

0

su shell /data/dataを実行すると、そこにアクセスできないシェルユーザーとして実行されます。 su -c "sh&&cd /data/data"

のようなものをお試しください
関連する問題

 関連する問題