java - Android 应用程序递归运行命令

标签 java android runtime

嗨,我正在编写一个小应用程序,它运行一些我编写的脚本,这些脚本都存储在一个目录中,并且脚本偶尔会发生变化,其中一些脚本会根据我的服务器不时删除/添加,所以我需要从应用程序运行命令,以便在运行脚本之前递归地 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;
              }

最佳答案

我的设备上的 busybox chmod 接受 -R 递归标志

或者你可以用困难的方式做到这一点:

busybox 似乎没有足够完整的 xargs 命令(带有替换字符串选项)来处理 chmod 希望文件作为其最后一个参数而不是第一个参数。

这适用于我的:

busybox 查找 |当读 f 时;执行 chmod 755 $f ;完成

它可能适合也可能不适合你;特别是,我不完全确定谁在运行 while 循环 - busybox 或 toolbox。在我最近使用的一台供应商库存图像设备上,while 循环不起作用。也没有找到...

关于java - Android 应用程序递归运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5813948/

相关文章:

android - 国家列表是否有API?

android - BottomNavigationView 在键盘出现时上升

c++ - c std::vector 一分为二

java - 编写一个包含整数的 ArrayList,该整数将被并发访问

java - 如何找到小于给定数的2的最大次方

java - 使用java连接mysql时出现错误

python - 在 Python 中测量脚本运行时间

Java 从套接字获取 ObjectInputStream ObjectOutputStream

Java/Android - 将对象传递给打开资源的方法

Java尝试进行反射(类实例并在运行时调用方法)