是否可以“强制停止”我在终端中使用adb调试的应用程序?

时间:2011-07-08 14:21:57

标签: android command-line adb

我正在开发一个应用程序,并且为了在第一次安装时调试某些操作,我发现使用终端命令:

./adb uninstall <package-name>

比导航到设置,应用程序,等待加载应用程序,查找应用程序以及卸载应用程序要快得多。我强烈建议任何尚未使用它进行调试的人。

现在我正在努力研究我的应用程序的强制关闭部分,我无法在Android文档的任何地方找到关于如何通过adb命令强制关闭应用程序的说明。

有可能吗?

5 个答案:

答案 0 :(得分:22)

am force-stop YOUR.PACKAGE.NAME

这个命令对我有用。希望如此,这对你也有帮助。

答案 1 :(得分:17)

您可以使用adb shell kill来终止进程,但首先需要查找进程ID。为此,您可以使用adb shell ps并解析输出。这是一个示例(假设您的开发PC是Unix):

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

答案 2 :(得分:6)

你可以用他的pid关闭一个

adb shell kill <PID>

但我不确定是否使用包名称。

答案 3 :(得分:3)

adb killall YOUR.PACKAGE.NAME

我已经创建了一个批处理脚本来运行此命令。

答案 4 :(得分:0)

如果由于某种原因你不能使用awk(在我的情况下不完整的cygwin安装),以下可能会有效:

adb shell ps | grep YOUR.PACKAGE.NAME | sed 's/\s\s*/ /g' | cut -d ' ' -f 2 | adb shell kill

说明:首先,ps列出正在运行的进程。从输出中,grep获取包含YOUR.PACKAGE.NAME的行。 sed将连续的空格截断为一个,以帮助cut获取该行的包名称部分。最后,流程ID通过管道传输到kill