我正在使用logcat -d
以编程方式将日志刷新到文件。下面是我在onCreate()
中编写的代码片段:
Log.d(TAG, "First");
Log.d(TAG, "Second");
Log.d(TAG, "Third");
try {
Process process = Runtime.getRuntime().exec("logcat -d");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
StringBuilder log = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
log.append(line);
}
PrintWriter printWriter = new PrintWriter(new FileWriter(FILE_PATH));
printWriter.println(log.toString());
printWriter.close();
TextView tv = (TextView)findViewById(R.id.textView);
tv.setText(log.toString());
} catch (IOException e) {
}
日志未完全刷新。有时,它会转储First
,Second
和Third
,而在其他时候,它只会显示三个中的少数几个。最糟糕的情况是,有时它不会抛弃任何东西
要检查是否存在任何File
写入问题,我还使用了TextView
。即使是textView也遵循相同的行为。
为什么logcat -d
出现意外行为?
答案 0 :(得分:0)
重新启动您的adb并尝试直接查看ddms logcat。