adb 关机

举报
林欣 发表于 2025/07/18 10:56:22 2025/07/18
【摘要】 通过 ADB(Android Debug Bridge) 可以远程控制手机关机,无需手动操作物理按键。以下是详细方法及注意事项: 一、基础关机命令 1. 标准关机(推荐)adb shell am broadcast -a android.intent.action.ACTION_REQUEST_SHUTDOWN效果:触发系统关机流程(等同于长按电源键选择“关机”)。特点:兼容性最好,适用于大...

通过 ADB(Android Debug Bridge) 可以远程控制手机关机,无需手动操作物理按键。以下是详细方法及注意事项:


一、基础关机命令

1. 标准关机(推荐)

adb shell am broadcast -a android.intent.action.ACTION_REQUEST_SHUTDOWN
  • 效果:触发系统关机流程(等同于长按电源键选择“关机”)。
  • 特点
    • 兼容性最好,适用于大多数 Android 设备(包括小米、华为、三星等)。
    • 部分手机会弹出关机确认对话框(需手动确认)。

2. 强制关机(无确认)

adb shell reboot -p

adb shell poweroff
  • 效果:立即关闭手机电源(无确认提示)。
  • 注意
    • reboot -p 是 Linux 标准关机参数,部分厂商可能禁用;
    • poweroff 是 Android 底层命令,但部分系统可能限制访问权限。

二、分机型适配方案

1. 华为/荣耀

  • 问题:部分机型会拦截 ADB 关机指令。
  • 解决方案
    adb shell am start -n com.android.settings/.PowerUsageSummary  # 尝试打开电源设置(间接关机)
    adb shell input keyevent 26  # 模拟按下电源键(可能触发锁屏而非关机)
    
    终极方案:长按电源键 10-15秒 强制断电。

2. 小米/Redmi

  • 特殊要求:需在 开发者选项 中开启 “USB 调试(安全设置)”
  • 推荐命令
    adb shell am broadcast -a miui.intent.action.POWER_OFF  # 小米定制关机指令(部分机型适用)
    

3. 三星

  • 问题:系统可能阻止后台进程关机。
  • 解决方案
    adb shell settings put global device_provisioned 1  # 绕过部分限制(不保证有效)
    adb shell reboot -p
    

4. OPPO/vivo

  • 关键步骤
    1. 确保已授权 “USB 调试(安装应用)” 权限;
    2. 使用标准命令:
      adb shell am broadcast -a android.intent.action.ACTION_REQUEST_SHUTDOWN
      

三、高级技巧

1. 通过 input 命令模拟按键(需屏幕解锁)

adb shell input keyevent KEYCODE_POWER  # 模拟按下电源键
adb shell input swipe 500 1500 500 500 200  # 模拟滑动关机(部分机型无效)
  • 限制:需手机屏幕处于解锁状态,且部分厂商禁用虚拟按键模拟。

2. 定时关机脚本

Linux/Mac 脚本

#!/bin/bash
# 设置关机延迟(单位:秒)
DELAY=30
echo "手机将在 $DELAY 秒后关机..."
sleep $DELAY
adb shell am broadcast -a android.intent.action.ACTION_REQUEST_SHUTDOWN
echo "关机指令已发送。"

Windows 批处理脚本

@echo off
set /p DELAY="请输入关机延迟(秒): "
echo 手机将在 %DELAY% 秒后关机...
timeout /t %DELAY% /nobreak >nul
adb shell am broadcast -a android.intent.action.ACTION_REQUEST_SHUTDOWN
echo 关机指令已发送。
pause

3. 无线 ADB 关机(Android 11+)

  1. 手机开启 无线调试(设置 → 开发者选项 → 无线调试);
  2. 记录手机 IP 和端口(如 192.168.1.100:5555);
  3. 电脑执行:
    adb connect 192.168.1.100:5555
    adb shell reboot -p
    

四、常见问题解决

1. 命令报错 Permission denied

  • 原因:系统限制后台进程关机权限。
  • 解决
    • 尝试使用 su -c reboot -p(需 root 权限);
    • 更换为 adb shell am broadcast 广播方式。

2. 手机无响应

  • 强制断电:长按电源键 10-15秒 直到屏幕熄灭;
  • 拆电池(可拆卸电池机型):直接拔电池重启。

3. 关机后自动重启

  • 可能原因
    • 系统崩溃(尝试进入 Recovery 模式清除缓存);
    • 硬件故障(如电源键短路)。
  • 解决
    adb reboot recovery  # 进入 Recovery 模式
    # 在 Recovery 中选择 "Wipe cache partition" → "Reboot system now"
    

五、总结对比

命令 效果 兼容性 需确认
adb shell am broadcast -a android.intent.action.ACTION_REQUEST_SHUTDOWN 标准关机(推荐) ⭐⭐⭐⭐⭐ ✅(部分机型)
adb shell reboot -p 强制关机 ⭐⭐⭐⭐
adb shell poweroff 底层关机 ⭐⭐⭐
模拟电源键 间接关机 ⭐⭐

推荐操作流程

  1. 优先尝试标准广播命令;
  2. 若无效,使用 reboot -ppoweroff
  3. 极端情况下长按电源键强制断电;
  4. 遇到系统异常时进入 Recovery 模式修复。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。