3

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

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

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

该应用程序运行良好,没有崩溃,所有活动都正常工作,甚至是启动和停止 logcat 的活动。在 AVD 中运行和在设备中运行之间的唯一区别是缺少消息。我知道缺少消息,因为我在我的应用程序之外运行 aLogCat 并且 aLogCat 确实捕获了所有消息。

我错过了什么?

4

1 回答 1

1

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

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

- 参考 -

所以问题

讨论

安卓问题

aLogCat 用户评论

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

于 2013-03-01T19:43:47.273 回答