Ich erhalte diesen Fehler, warum ich/data/data/E/[Fehler]: sh:/data/data /: Zugriff verweigert
E/[Error]: sh: /data/data/: Permission denied
zu gehen versuchen Aber ich verstehe nicht, warum. Wenn ich den Knopf drücke, fragt Superuser nach root-Rechten, aber es sagt mir immer noch, dass die Berechtigung im Log verweigert wird ... das sollte nicht passieren, wenn ich Root-Rechte gebe, oder?
@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) {
}
}
Ich hoffe jemand kann mir helfen, dies besser zu verstehen, weil zu meinem Verständnis; root ist die oberste Berechtigung.