在Android中以编程方式运行shell命令需要什么权限?

时间:2011-04-05 13:12:11

标签: java android exec android-permissions

         try{
             Process process;
             process = Runtime.getRuntime().exec(command);
             BufferedReader in = new BufferedReader(new
                     InputStreamReader(process.getInputStream()));
         } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
         }

2 个答案:

答案 0 :(得分:4)

这取决于您希望运行的命令,您可能不需要任何命令。但是,如果您尝试运行系统级命令,则需要root访问权限(而不是Android权限)。运行平台命令几乎可以避免Android权限发生的任何事情,并且仅受您的linux用户标识是否具有您发出的命令的读/写/执行权限的影响。

如果不允许您运行特定命令,

Runtime.exec()也将抛出SecurityException,并且异常将提供有关特定情况下原因的更多详细信息,因此您可能应该在try也阻止了。您也可以使用Runtime.checkexec()来验证在实际尝试之前是否可以运行某个命令字符串。

希望有帮助!

答案 1 :(得分:0)

我认为这里不需要任何权限。但是你可以分析执行结果,以便理解二进制执行。