Android 调用shell命令打印

打印 process 进程的输出大 logcat

            final Boolean[] flag = {true};
            final Thread thread1 = new Thread(new Runnable() {
                @Override
                public void run() {
                    BufferedReader bufferedReader1 = null;
                    BufferedReader bufferedReader2 = null;
                    try {
                        bufferedReader1 = new BufferedReader(new InputStreamReader(process.getInputStream(), "gbk"));
                        bufferedReader2 = new BufferedReader(new InputStreamReader(process.getErrorStream(), "gbk"));
                        String line1 = null;
                        String line2 = null;
                        while (flag[0] ) {
                            if ((line1 = bufferedReader1.readLine()) != null) {
                                Log.e(TAG, "LINE["+Thread.currentThread().getStackTrace()[2].getLineNumber()+"]" + " stdout:"+line1);
                            }
                            if ((line2 = bufferedReader2.readLine()) != null) {
                                Log.e(TAG, "LINE["+Thread.currentThread().getStackTrace()[2].getLineNumber()+"]" + " error :"+line2);

                            }
                        }
                    } catch (UnsupportedEncodingException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            });
            thread1.start();

猜你喜欢

转载自blog.csdn.net/liuyj_vv/article/details/89632449