private void saveLogCat() {
try{
/*命令的准备*/
ArrayList<String> getLog = new ArrayList<String>();
getLog.add("logcat");
getLog.add("-d");
getLog.add("-v");
getLog.add("time");
ArrayList<String> clearLog = new ArrayList<String>();
clearLog.add("logcat");
clearLog.add("-c");
Process process = Runtime.getRuntime().exec(getLog.toArray(new String[getLog.size()]));//抓取当前的缓存日志
BufferedReader buffRead = new BufferedReader(new InputStreamReader(process.getInputStream()));//获取输入流
String str = null;
//Date date = new Date(System.currentTimeMillis());
//String time = format.format(date);
File logFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+"idstLog.txt");//打开文件
//Log.i(TAG, "thread");
while((str=buffRead.readLine())!=null){//循环读取每一行
BufferedWriter bw = new BufferedWriter(new FileWriter(logFile, true));
bw.write(str);
bw.write("\r\n");
bw.flush();
}
Runtime.getRuntime().exec(clearLog.toArray(new String[clearLog.size()]));
// Runtime.getRuntime().exec(clearLog.toArray(new String[clearLog.size()]));//清除是为了下次抓取不会从头抓取
}catch(Exception e){
e.printStackTrace();
}
// try {
// Process process = Runtime.getRuntime().exec("logcat -e");
// BufferedReader bufferedReader = new BufferedReader(
// new InputStreamReader(process.getInputStream()));
//
// StringBuilder log=new StringBuilder();
// String line;
// while ((line = bufferedReader.readLine()) != null) {
// log.append(line);
// }
// LogToFileUtils.write(log);
// LogUtils.i(""+log);
// } catch (IOException e) {
// e.printStackTrace();
// LogUtils.i(""+e.getMessage());
// }
}
打印 自己apk log