Runtime.getRuntime()报错null environment?请教大神
尝试读取日志,在测试程序里,写在activity,执行的没问题。但是写到我自己的程序的service里,就开始报错: java.io.IOException: Error running exec(). Command: [logcat, -d] Working Directory: null Environment: null
请教大神,该怎么处理?另外,这个null environment 是怎么引起的?比较少遇到
public static void getLog()
{
System.out.println("sjjy--------func start--------"); // 方法启动
try
{
// ArrayList<String> cmdLine=new ArrayList<String>(); //设置命令 logcat -d 读取日志
// cmdLine.add("logcat");
// cmdLine.add("-d");
String[] cmdStrings = new String[] {"logcat", "-d"};
String retString = "";
ArrayList<String> clearLog=new ArrayList<String>(); //设置命令 logcat -c 清除日志
clearLog.add("logcat");
clearLog.add("-c");
Process process=Runtime.getRuntime().exec(cmdStrings); //捕获日志
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(process.getInputStream())); //将捕获内容转换为BufferedReader
// Runtime.runFinalizersOnExit(true);
String str=null;
while((str=bufferedReader.readLine())!=null) //开始读取日志,每次读取一行
{
Runtime.getRuntime().exec(clearLog.toArray(new String[clearLog.size()])); //在这里报错//清理日志....这里至关重要,不清理的话,任何操作都将产生新的日志,代码进入死循环,直到bufferreader满
System.out.println("me__s"+str);