【发布时间】:2012-03-07 13:27:24
【问题描述】:
我可以使用am start -a action -n packagename/activity 启动本机应用程序。如何从 adb shell 杀死/停止本机应用程序?
【问题讨论】:
我可以使用am start -a action -n packagename/activity 启动本机应用程序。如何从 adb shell 杀死/停止本机应用程序?
【问题讨论】:
请在 adb shell 中尝试以下命令。
adb shell kill <PID>
【讨论】:
adb shell 开头了吗?在 Ubuntu 中尝试一下。
Chirag 删除了它,所以又来了:
adb shell ps | grep com.myapp | awk '{print $2}' | xargs adb shell kill
这是在模拟器之外运行的。它是一个长的 Unix 命令,而不是具有视觉分隔的四个命令。 | 是语法,由您的(Ubuntu 的)shell 解释,然后将 adb、grep 等的输出通过管道传输到下一个。模拟器中只执行ps。
【讨论】:
adb shell ps | grep $1 | awk '{print $2}' 部分非常适合仅提取命名应用程序的 PID(本例中为 1 美元)。
xargs adb shell 'su -c kill'。此外,stackoverflow.com/a/9418553/198348 是相关的。
adb shell am force-stop packagename
【讨论】:
杀死您的应用的另一种方法是将您的应用发送到后台(使用主页按钮)并调用:
adb shell am kill com.your.package
它并非在我的所有设备上都有效,但是,在它工作的设备上,它的行为方式与应用程序由于缺乏资源而在后台被终止的方式相同,并且这种状态通常可以方便地测试进程的不同方面娱乐。
例如,如果您在 Manifest 中注册了广播接收器,它们仍将启动而无需手动重新启动您的应用程序,而您可以使用以下方式强制停止:
adb shell am force-stop com.your.package
【讨论】: