Android-приложение запускает команду рекурсивно - PullRequest
1 голос
/ 28 апреля 2011

Привет, поэтому я пишу небольшое приложение, которое запускает несколько сценариев. Я написал, что все сценарии хранятся в каталоге, и сценарии время от времени меняются, некоторые из них время от времени удаляются / добавляются в зависимости от моего сервера, поэтому янеобходимо запустить команду из приложения, чтобы рекурсивно выполнить chmod для всех файлов в каталоге до запуска сценариев. Я использую следующий код для chmod файлов, но не могу понять, как это сделать для всех файлов вкаталог

Спасибо за любую помощь

//Code to chmod the file
execCommand("busybox chmod 755 ");

//execCommand Method
public Boolean execCommand(String command) {
        try {
            Runtime rt = Runtime.getRuntime();
            Process process = rt.exec("su");
            DataOutputStream os = new DataOutputStream(process.getOutputStream()); 
            os.writeBytes(command + "\n");
            os.flush();
            os.writeBytes("exit\n");
            os.flush();
            process.waitFor();
           } catch (IOException e) {
              return false;
              } catch (InterruptedException e) {
              return false;
              }
              return true;
              }

1 Ответ

0 голосов
/ 29 апреля 2011

busybox chmod на моем устройстве принимает флаг -R recurse

Или вы можете сделать это трудным путем:

Похоже, что busybox не имеет достаточно полной команды xargs (с опцией замены строки), чтобы chmod хотел, чтобы файл был последним аргументом вместо первого.

Это работает на моем:

busybox найти | пока читаешь ф; do chmod 755 $ f; сделано

Это может или не может на вашем; в частности, я не совсем уверен, кто запускает цикл while - busybox или toolbox. На одном устройстве с изображением вендора, с которым я недавно играл, в то время как петли не работали. Там тоже не нашли ...

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