我从我的应用程序中的服务执行Logcat。
commandLine = "logcat -v time -b main"
process = Runtime.getRuntime().exec(commandLine);
当它在任何AVD上运行时,它会捕获系统中运行的任何进程的所有日志消息 当我通过复制apk并以正常方式安装应用程序在真实设备(ASUS TF201)中运行它时,它只捕获来自我自己的应用程序的日志消息。
应用程序运行正常,没有崩溃,所有活动都运行正常,甚至是启动和停止logcat的活动。 AVD中的运行与设备中的运行之间的唯一区别是缺少的消息。我知道有丢失的消息,因为除了我的app之外我运行了一个LogCat,而且aLogCat确实捕获了所有消息。
我错过了什么?
答案 0 :(得分:1)
这应该始终是预期的行为,并且正确地在Jelly Bean中修复。每个应用程序应该只能访问与其自身进程相关的logcat信息。
在您的情况下,您需要以root身份运行该命令以访问不属于您的应用程序的logcat消息。
- 参考文献 -
希望这能满足你的好奇心。