【如何使用 ADB 脚本批量停止 Android 设备上的所有应用】

在 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
)

脚本说明
  1. 设备连接检查

    • 脚本的第一步是运行 adb devices,这会列出所有已连接的设备。
    • 如果 ADB 命令返回一个错误(通过 %errorlevel% 检查),会提示连接失败并自动重试,直到成功连接上设备。
  2. 列出应用包名

    • 使用 adb shell pm list packages 来获取设备上所有已安装应用的包名,并通过 findstr 提取包含 package: 的行。这将筛选出设备上所有的应用包名。
  3. 停止所有应用

    • for /f "tokens=2 delims=:" %%a 解析每行的包名,然后通过 adb shell am force-stop %%a 停止每个应用。这个命令会依次停止每个应用的进程,达到清理内存的效果。

如何运行脚本
  1. 将上述脚本代码保存为一个 .bat 文件,例如 stop_all_apps.bat
  2. 确保已连接一台设备并且 ADB 工具可以正常使用。
  3. 双击运行 stop_all_apps.bat 文件,即可在已连接的 Android 设备上停止所有应用。

使用注意事项
  • 单设备连接:该脚本适用于仅连接一台 Android 设备的情况。如果有多台设备连接,ADB 会报错。若有多台设备,建议先断开其他设备。
  • 调试模式:确保目标设备已启用 USB 调试,否则无法正常运行 ADB 命令。
  • 注意停止关键应用:此脚本会停止设备上所有用户应用,因此可能影响设备的正常操作。建议仅用于开发测试设备,不适用于个人日常使用的手机。

总结

通过这个脚本,我们可以批量停止 Android 设备上的所有应用,为进一步测试或清理设备资源提供便利。希望这篇教程对你有所帮助!

相关推荐
awu的Android笔记15 分钟前
网络闪断 + DNS 故障:Android弱网模拟中最容易被忽视的两个场景
android·tcp/ip
Flynt34 分钟前
Android 17内存限制:我是怎么发现App被系统悄悄干掉的
android·性能优化
消失的旧时光-19431 小时前
Kotlin 协程设计思想(七):为什么 Kotlin 要设计 SupervisorJob 和 supervisorScope?
android·开发语言·kotlin
故渊at2 小时前
第一板块:Android 系统基石与运行原理 | 第五篇:Context 上下文与资源配置体系
android·人工智能·opencv·context·上下文·资源配置体系
故渊at2 小时前
第一板块:Android 系统基石与运行原理 | 第四篇:进程孵化(Zygote)与 Low Memory Killer 机制
android·虚拟机·zygote·系统启动·low memory·进程孵化
JohnnyDeng942 小时前
【Android】RecyclerView性能优化与缓存机制:从卡顿到丝滑的完整指南
android·性能优化·kotlin·mvvm
zfoo-framework2 小时前
kotlin中体会到一些比较好用的点
android·开发语言·kotlin
●VON4 小时前
AtomGit Flutter鸿蒙客户端:文件树与代码浏览
android·服务器·安全·flutter·harmonyos·鸿蒙
故渊at11 小时前
系列三:组件化与模块化进阶 | 第11篇 组件化项目规范与问题根治:依赖、资源、Manifest 与混淆的全链路管控
android·架构·mvvm·模块化·组件化
故渊at11 小时前
系列二:MVVM 深度实战与项目重构 | 第7篇 LiveData & StateFlow 状态管理实战:从“粘包弹”到“丝滑流式”
android·重构