小编典典

从控制台停止 Android 应用程序

all

是否可以从控制台停止 Android 应用程序?就像是:

adb stop com.my.app.package

它将大大加快我们的测试过程。现在我们每次都卸载/安装应用程序,以确保手动测试用例以干净的状态开始。


阅读 69

收藏
2022-05-30

共1个答案

小编典典

编辑: 在我写这篇文章并被接受为答案很久之后,该am force-stop命令由 Android
团队实施,如本答案所述。

停止应用程序的干净方法是:

adb shell am force-stop com.my.app.id

这样您就不必弄清楚进程 ID。

或者: 与其只是停止应用程序,因为您提到每次测试运行都需要“干净的状态”,您可以使用adb shell pm clear com.my.app.package,这将停止应用程序进程 清除该应用程序的所有存储数据。


如果你在 Linux 上:
adb shell ps | grep com.myapp | awk '{print $2}' | xargs adb shell kill

这仅适用于在运行 shell 后立即拥有 root 权限的设备/模拟器。这可能会稍微细化以su预先调用。

否则,你可以这样做(手动,或者我想脚本):
pc $ adb -d shell
android $ su
android # ps
android # kill <process id from ps output>

2022-05-30