是否可以从控制台停止 Android 应用程序?就像是:
adb stop com.my.app.package
它将大大加快我们的测试过程。现在我们每次都卸载/安装应用程序,以确保手动测试用例以干净的状态开始。
编辑: 在我写这篇文章并被接受为答案很久之后,该am force-stop命令由 Android 团队实施,如本答案所述。
am force-stop
停止应用程序的干净方法是:
adb shell am force-stop com.my.app.id
这样您就不必弄清楚进程 ID。
或者: 与其只是停止应用程序,因为您提到每次测试运行都需要“干净的状态”,您可以使用adb shell pm clear com.my.app.package,这将停止应用程序进程 并 清除该应用程序的所有存储数据。
adb shell pm clear com.my.app.package
如果你在 Linux 上: adb shell ps | grep com.myapp | awk '{print $2}' | xargs adb shell kill
adb shell ps | grep com.myapp | awk '{print $2}' | xargs adb shell kill
这仅适用于在运行 shell 后立即拥有 root 权限的设备/模拟器。这可能会稍微细化以su预先调用。
su
否则,你可以这样做(手动,或者我想脚本): pc $ adb -d shell android $ su android # ps android # kill <process id from ps output>
pc $ adb -d shell
android $ su
android # ps
android # kill <process id from ps output>