【问题标题】:Find out how often OTHER apps crashed on Android了解其他应用在 Android 上崩溃的频率
【发布时间】:2012-02-11 15:12:40
【问题描述】:

我的经理询问某个应用是否可以了解安装在 Android 设备上的其他应用崩溃了多少次。

根据我对应用沙盒化的了解,这应该是不可能的。可能是 Android 操作系统将哪些应用程序崩溃、何时、出于什么原因(例如,堆栈跟踪已保存)写入日志中的某个位置?如果是,则可以解析它们(如果权限允许,甚至可能在非 root 手机上)。

这应该适用于任何类型的其他应用,无论是否来自 AndroidMarket,而不仅仅是我们自己开发的那些。

谢谢!

【问题讨论】:

标签: android crash logging


【解决方案1】:

我的经理询问某个应用是否可以了解安装在 Android 设备上的其他应用崩溃了多少次。

某些应用程序允许将未处理异常的堆栈跟踪写入 LogCat,如果您拥有 READ_LOGS 权限,则可以读取。理想情况下,很少 生产应用程序会这样做,因为有人可能会说这是一个安全问题。那些有自己的报告未处理异常的机制(例如 ACRA)的人不一定会将他们的数据记录到 LogCat,而且您无法确定它们是否“崩溃”。

【讨论】:

  • 谢谢! logcat 中的日志会保留多长时间?我的意思是,它会在一段时间后增长到兆字节,如果永远保存在手机上会阻塞空间,不是吗?当我从 Eclipse 中查看它时,它可能会在 10-20 分钟后被清理干净。如果是这样,我需要一个服务,它会不时地解析 LogCat。我在考虑正确的路线吗?
  • 他们更喜欢只运行一次的应用程序,并且可以知道在安装此应用程序之前哪些应用程序崩溃了。如果定期清理 LogCat,这是不可能的,对吧?
  • @iseeall:“logcat 中的日志会保留多长时间?” - 不久。它是一个 64KB 的环形缓冲区,因此较旧的条目会被较新的条目替换。 “我需要一个不时解析 LogCat 的服务”——由AlarmManager 触发,是的。 “他们更喜欢只运行一次的应用程序,并且可以在安装此应用程序之前知道哪些应用程序崩溃了。” - 如果它在最后几分钟内崩溃,那可能会奏效。就我个人而言,我不喜欢带有READ_LOGS 的应用程序,因此期待用户的一些回击。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多