Как изменить права доступа к файлу с помощью Runtime.getRuntime (). Exec - PullRequest
0 голосов
/ 29 марта 2012

Я пишу код на Android, и мне нужны разрешения на изменение некоторых файлов, я установил Busybox, чтобы иметь много команд, но при выполнении кода ничего не происходит.

Process p = Runtime.getRuntime().exec("chmod 777 /data/app/XXX"); 
BufferedReader in = new BufferedReader(  
                                new InputStreamReader(p.getInputStream()));  
String line = null;  
while ((line = in.readLine()) != null) {  
                System.out.println(line);
}

1 Ответ

0 голосов
/ 14 марта 2013
private boolean isSu() throws IOException, InterruptedException {
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) {
        toastMessage("root");
        return true;
        } else {
        toastMessage("not root");
    }
    } catch (InterruptedException e) {
        toastMessage("not root");
        }
    } catch (IOException e) {
        toastMessage("not root");
    }

    return false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...