在 Android 开发和测试中,有时候我们需要批量停止设备上的所有应用进程。为此,我们可以使用一个简单的 ADB 脚本来自动完成这一任务。本文将介绍如何编写和使用这个脚本。
脚本介绍
下面的脚本通过 ADB 命令来列出并停止所有正在运行的 Android 应用进程。无需指定设备时,默认会对当前唯一连接的设备执行操作。
batch
@echo off
:retry
adb devices
if %errorlevel% neq 0 (
echo adb root failed. Retrying...
goto retry
)
for /f "tokens=2 delims=:" %%a in ('adb shell pm list packages ^| findstr /r /c:"package:"') do (
adb shell am force-stop %%a
)
脚本说明
-
设备连接检查:
- 脚本的第一步是运行
adb devices
,这会列出所有已连接的设备。 - 如果 ADB 命令返回一个错误(通过
%errorlevel%
检查),会提示连接失败并自动重试,直到成功连接上设备。
- 脚本的第一步是运行
-
列出应用包名:
- 使用
adb shell pm list packages
来获取设备上所有已安装应用的包名,并通过findstr
提取包含package:
的行。这将筛选出设备上所有的应用包名。
- 使用
-
停止所有应用:
for /f "tokens=2 delims=:" %%a
解析每行的包名,然后通过adb shell am force-stop %%a
停止每个应用。这个命令会依次停止每个应用的进程,达到清理内存的效果。
如何运行脚本
- 将上述脚本代码保存为一个
.bat
文件,例如stop_all_apps.bat
。 - 确保已连接一台设备并且 ADB 工具可以正常使用。
- 双击运行
stop_all_apps.bat
文件,即可在已连接的 Android 设备上停止所有应用。
使用注意事项
- 单设备连接:该脚本适用于仅连接一台 Android 设备的情况。如果有多台设备连接,ADB 会报错。若有多台设备,建议先断开其他设备。
- 调试模式:确保目标设备已启用 USB 调试,否则无法正常运行 ADB 命令。
- 注意停止关键应用:此脚本会停止设备上所有用户应用,因此可能影响设备的正常操作。建议仅用于开发测试设备,不适用于个人日常使用的手机。
总结
通过这个脚本,我们可以批量停止 Android 设备上的所有应用,为进一步测试或清理设备资源提供便利。希望这篇教程对你有所帮助!