如果其他应用程序在设备上崩溃,则会侦听Android App

时间:2016-05-12 17:20:42

标签: java android mobile crash-reports

是否可以拥有一个在后台运行的应用程序,并在我的设备上另一个应用程序崩溃时收听? 我希望我的应用程序在检测到我在设备上使用的应用程序崩溃或停止时通知我的计算机。如果是这样,那么它也需要倾听吗?

3 个答案:

答案 0 :(得分:1)

一种非常黑客的方法是编写一个监控Logcat的本机二进制文件,使用ADB将可执行文件上传到您的设备并使用shell帐户启动它。请注意,这是而不是应用程序。

Android shell用户具有足够的权限来查看所有进程的Logcat并执行网络操作,因此您只需扫描Logcat以获取指示应用程序已崩溃的告警消息,从Logcat中抽出堆栈跟踪然后发送它通过本地网络连接到您的PC。

这实际上听起来很酷。可能会自己建立它: - )

答案 1 :(得分:0)

我认为你想创建三星的智能应用管理器。跟踪所有应用程序的崩溃并显示卸载应用程序或删除的通知。

  

来自Android doc:默认情况下,系统会为每个应用分配一个唯一的应用   Linux用户ID(该ID仅供系统使用,并且不知道   应用程序)。系统为应用程序中的所有文件设置权限   只有分配给该应用的用户ID才能访问它们。

     

每个进程都有自己的虚拟机(VM),因此运行应用程序的代码   与其他应用程序隔离。

     

默认情况下,每个应用都在自己的Linux进程中运行。 Android启动   然后,当需要执行任何应用程序组件时的过程   当不再需要或系统何时关闭该过程   必须为其他应用程序恢复内存。

每个Android应用程序都与其他应用程序隔离运行。因此,任何应用都无法跟踪其他应用的崩溃日志。

  

问题是:三星的智能应用管理器是如何做的。

我认为三星智能应用程序仅适用于三星设备。 需要Root权限才能执行此类操作。 Samsung的智能应用程序仅在Samsung的设备中拥有root权限。

如果您正在为自定义ROM或Root Android设备开发应用程序,那么您可以做其他事情。

答案 2 :(得分:-2)

当您在Android开发者控制台中上传apk时,您有任何选项,包括错误选项,然后当应用程序在某些设备中崩溃时,他们可以发送报告,您可以在控制台中看到它...