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

发布于 2024-11-19 00:35:56 字数 261 浏览 2 评论 0原文

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

./adb uninstall <package-name>

比导航到设置、应用程序、等待应用程序加载、查找应用程序并卸载它要快得多。我强烈推荐给尚未使用它进行调试的任何人。

现在我正在尝试处理我的应用程序的强制关闭部分,但我在 android 文档中找不到有关如何通过 adb 命令强制关闭应用程序的说明。

是否可以?

I am developing an app, and for debugging certain actions on first installation I found that using the terminal command:

./adb uninstall <package-name>

was a lot fast than navigating to settings, apps, waiting for the apps to load, finding your app, and uninstalling it. I would strongly recommend it for anyone that doesn't already use it for debugging.

Now I am trying to work on the force close part of my app, and I can't find anywhere in the android doc, instructions on how to force close an app by adb command.

Is it possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

拥抱影子 2024-11-26 00:35:57

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

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

You can use adb shell kill to kill the process, but first you need to find the process id. To do this you can use adb shell ps and parse the output. Here is a sample (assuming your development PC is Unix):

adb shell kill $(adb shell ps | grep YOUR.PACKAGE.NAME | awk '{ print $2 }')
Oo萌小芽oO 2024-11-26 00:35:57

您可以使用他的 pid 来关闭它,

adb shell kill <PID>

但我不确定是否使用包名称来执行此操作。

You can close one by his pid using

adb shell kill <PID>

but I'm not sure of doing it with a package name.

掌心的温暖 2024-11-26 00:35:57
adb killall YOUR.PACKAGE.NAME

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

adb killall YOUR.PACKAGE.NAME

I've created a batch script to run this command.

囍孤女 2024-11-26 00:35:57

如果由于某种原因无法使用 awk(在我的例子中,cygwin 安装不完整),以下方法可能有效:

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

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

If you can't use awk for some reason (incomplete cygwin installation in my case), the following might work:

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

Explanation: First, ps lists running processes. From the output, grep gets the line containing YOUR.PACKAGE.NAME. sed truncates consecutive spaces into one to help cut can get the package name part of that line. Finally, the process id is piped to kill.

墨小沫ゞ 2024-11-26 00:35:56
am force-stop YOUR.PACKAGE.NAME

这个命令对我有用。希望这也会对您有所帮助。

am force-stop YOUR.PACKAGE.NAME

This command worked for me. Hope so this will help you as well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文