通过ADB shell接受'强制关闭'对话框

时间:2012-07-16 18:43:04

标签: android adb

我正试图弄清楚当Android应用程序因硬错误(特别是out_of_memory)崩溃时,如何(或者是否可能)通过adb shell接受“强制关闭”对话框。我希望基本上使用bash脚本循环应用程序,所以当它崩溃时我想再次启动它。这里缺少的一步是我无法模拟按下对话框中间显示的“强制关闭”按钮。

同时,这个过程似乎并没有真正运行(试图杀死PID不起作用),所以这有点奇怪,因为它似乎已经停止了,但是再次启动它(通过adb shell am ...)只是让我'当前的任务已经被带到了前面'。

任何想法都将不胜感激!

2 个答案:

答案 0 :(得分:6)

对于DarkXphenomenon

+1到UncaughtExceptionHandler

但要杀死此过程,您应该使用 am

am force-stop: force stop everything associated with <PACKAGE>.

am kill: Kill all processes associated with <PACKAGE>.  Only kills.
  processes that are safe to kill -- that is, will not impact the user
  experience.

例如:

adb shell am force-stop <YOUR.PACKAGE.NAME>

答案 1 :(得分:3)

如果它是您自己的应用,您可以添加UncaughtExceptionHandler而不显示强制关闭对话框。如果没有,以下可能会有效。

您也可以从adb中删除该进程。 (Credit

adb shell kill $(adb shell ps | grep YOUR.PACKAGE.NAME | awk '{ print $2 }')

之后,您可以使用adb shell am ...重新生成该过程。