当前位置:   article > 正文

java 运行adb命令_java调用执行cmd命令

java windows执行adb命令行

packagepractice;importjava.io.BufferedReader;importjava.io.File;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;public classcmdadb {public voidexecuteCMDconsole(String cmd) {//此方法为打印日志到控制台!!!!!!!!!!!!//此方法跑成功!!!

System.out.println("在cmd里面输入"+cmd);

Process p;try{

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

System.out.println(":::::::::::::::::::开始在控制台打印日志::::::::::::::::::::::>>>>>>");//p.waitFor();

BufferedReader bReader=new BufferedReader(new InputStreamReader(p.getInputStream(),"gbk"));

String line=null;while((line=bReader.readLine())!=null)

System.out.println(line);

}catch(IOException e) {

e.printStackTrace();

}

}public String executeCMDfile(String[] cmmands, String logToFile, String dirTodoCMD ) throwsIOException {//此方法为輸出日志到指定文件夹!!!!!!!!!!!!//此方法跑成功!!!//如果 String cmmand 那麼 String cmmand = "adb logcat -v time > d:/adb.log";//String[] cmmands 所以 String commands[] = { "adb", "logcat","-v","time"};//String logToFile 將日誌保存到logToFile//String dirTodoCMD 在dirTodoCMD執行cmd命令//由于將日志輸出到文件裡面了,就不能再将日誌輸出到console了

try{

ProcessBuilder builder= newProcessBuilder(cmmands);if (dirTodoCMD != null)

builder.directory(newFile(dirTodoCMD));

builder.redirectErrorStream(true);

builder.redirectOutput(newFile(logToFile));

Process process=builder.start();

process.waitFor();//得到命令执行后的结果

InputStream is =process.getInputStream();

BufferedReader buffer= new BufferedReader(new InputStreamReader(is, "gbk"));

String line= null;

StringBuffer sbBuffer= newStringBuffer();while ((line = buffer.readLine()) != null) {

sbBuffer.append(line);

}

is.close();returnsbBuffer.toString();

}catch(Exception e) {

e.printStackTrace();

}return null;

}public static void main(String[] args) throwsIOException {//String cmd="D:/Android/android-sdk-windows/platform-tools/adb logcat -v time";//String cmd2="adb devices";//String cmd3="adb logcat -v time";//String cmd4="adb logcat -v time > d:/adb.log";

cmdadb adbc = newcmdadb();

adbc.executeCMDconsole("adb logcat -v time");

String commands[]= { "adb", "logcat","-v","time"};

adbc.executeCMDfile(commands,"D:/adb.logs", "C:/Users/wb-cjz286752");//System.out.println(result);由于將日志輸出到文件裡面了,就不能再将日志輸出到console了

}

}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/335615
推荐阅读
相关标签
  

闽ICP备14008679号