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

标签 android logging android-logcat

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

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

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

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

我错过了什么?

最佳答案

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

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

-- 引用资料 --

SO Question

Discussion

Android issue

aLogCat User comments

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

关于Android Logcat 在模拟器中运行良好,在真实设备中运行不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15165279/

相关文章:

android - Lifecycle.Event.ON_DESTROY 未在应用程序中调用

java - 如何让 log4j2 使用 Spring Boot 和 Maven 创建不同的日志文件

java - 禁用 Spring boot websocket MessageBroker 日志的 INFO 级别日志记录

android - 在 android logcat 中缺少一些日志信息。如何查看所有日志 cat 详细信息/数据或保存在文件中?

android - Android 中的相对布局

android - ScrollView 使自定义布局不可见

android - 在 Google Maps v2 for Android 上动态添加标记

logging - 我应该记录网站的 404 错误吗?

android - 我们可以关闭 logcat 中的 "chatty"吗?

android - 在 android 中检查互联网连接