求解答~~我在android代码中调用shell命令,使用的就是网上大多用的方法,可是却没有任何输出,也没有提示,怎么解,求大神指教

代码如下:

    public String android_command() {

        // 要执行的命令行

        String ret = " java -version";

        String con = "";

        String result = "";

        Process p;

        try {

            p = Runtime.getRuntime().exec(ret);

            BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));

            while ((result = br.readLine()) != null) {

                con += result;

            }

        } catch (IOException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        // 可以打出命令执行的结果

        Log.e(TAG,"==========================con:" + con);

        ret = do_command(con);

        Log.e(TAG,"==========================ret:" + ret);

        return ret;

    }

0 1

共收到1条回复

沙漏丿记忆 417天前 #1楼

这是我之前做的项目用到的,你自己看看吧

   public static boolean setShellCmd(String cmd) {

        Process process = null;

        DataOutputStream os = null;

        try {

            process = Runtime.getRuntime().exec("su"); //切换到root用户

            os = new DataOutputStream(process.getOutputStream());

            os.writeBytes(cmd + "\n");

            os.writeBytes("exit\n");

            os.flush();

            int exitValue = process.waitFor();

            if (exitValue == 0) {

                return true;

            } else {

                return false;

            }

        } catch (Exception e) {

            return false;

        } finally {

            try {

                if (os != null) {

                    os.close();

                }

                process.destroy();

            } catch (Exception e) {

            }

        }

    }

0 评论

加入小组与大家一起讨论吧