Android Logcat在模拟器中运行良好,在真实设备中效果不佳

时间:2013-03-01 19:23:02

标签: android logging android-logcat

我从我的应用程序中的服务执行Logcat。

commandLine = "logcat -v time -b main"
process = Runtime.getRuntime().exec(commandLine);

当它在任何AVD上运行时,它会捕获系统中运行的任何进程的所有日志消息 当我通过复制apk并以正常方式安装应用程序在真实设备(ASUS TF201)中运行它时,它只捕获来自我自己的应用程序的日志消息。

应用程序运行正常,没有崩溃,所有活动都运行正常,甚至是启动和停止logcat的活动。 AVD中的运行与设备中的运行之间的唯一区别是缺少的消息。我知道有丢失的消息,因为除了我的app之外我运行了一个LogCat,而且aLogCat确实捕获了所有消息。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

这应该始终是预期的行为,并且正确地在Jelly Bean中修复。每个应用程序应该只能访问与其自身进程相关的logcat信息。

在您的情况下,您需要以root身份运行该命令以访问不属于您的应用程序的logcat消息。

- 参考文献 -

SO Question

Discussion

Android issue

aLogCat User comments

希望这能满足你的好奇心。