我有以下代码,但它只输出logcat的第一行“---- main of main”,其余的logcat未被捕获。
当我从命令行运行相同的“logcat -d -s myapp:I”时,它会显示几行。
String command = "logcat -d -s myapp:I";
Process process = Runtime.getRuntime().exec(command);
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
ArrayList<String> lines = new ArrayList<>();
String line;
while ((line = bufferedReader.readLine()) != null) {
Log.d(TAG, "Reading: " + line); // just prints "----beginning of main"
lines.add(line);
}
为什么我会获得一行输出?
答案 0 :(得分:0)
首先,请注意在生产中运行logcat
可能不可靠,因为这不是Android SDK的一部分。
除此之外,您只能从自己的应用程序(以及系统中的一小部分)获取日志消息,因为出于隐私和安全原因,您无权访问所有日志。