运行su -c“命令”进程

时间:2015-01-02 17:54:39

标签: java android

我想使用su来启动命令并读取其输出。 我试过这段代码:

        String line;
        Process cat=Runtime.getRuntime().exec("su -c \"cat /etc/media_codecs.xml\"");
        BufferedReader catStream= new BufferedReader(new InputStreamReader(cat.getInputStream()));
        BufferedReader catSerr= new BufferedReader(new InputStreamReader(cat.getErrorStream()));
        cat.waitFor();
        while((line=catSerr.readLine())!=null)
        {
            System.out.println(line);
        }
         while((line=catStream.readLine())!=null)
        {
            System.out.println(line);
        }

如果我在adb shell中手动插入此命令,它可以工作,但是使用此代码,手机会要求我获得root权限,如果我接受,我只能读取此字符串给stderr:

  

tmp-mksh:cat /etc/media_codecs.xml:not found

并没有stdout输出。为什么呢?

0 个答案:

没有答案