logcat 进程启动,我没有收到任何错误或强制关闭。它似乎根本没有产生任何输出。
String commandLine = "logcat -v time -b main *:V";
String line;
try {
process = Runtime.getRuntime().exec(commandLine);
bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
while(!mStop && (line = bufferedReader.readLine()) != null && newMessages.size() < maxMessages) {
// It does not reach this point
// Debugger shows
// mStop == false
// newMessages.size == 0
// maxMessages == 5000
// line == null
怀疑是 logcat 退出而没有打印任何内容。我在命令行中尝试了这个,它确实输出了 logcat 消息。
我替换logcat
为ls
然后 bufferedReader 填充line
。
检查bufferedReader
显示成员in
(InputStreamReader),它本身有一个成员,在 readLine() 之前endOfInput
为假,在它之后变为真。
最新消息: 我在模拟器本身中打开了终端模拟器,然后运行它:
$ logcat -v time -b main *:V
Unable to open log device '/dev/log/main': Permission denied
$