adb 关机
【摘要】 通过 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 关机指令。
- 解决方案:
终极方案:长按电源键 10-15秒 强制断电。adb shell am start -n com.android.settings/.PowerUsageSummary # 尝试打开电源设置(间接关机) adb shell input keyevent 26 # 模拟按下电源键(可能触发锁屏而非关机)
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
- 关键步骤:
- 确保已授权 “USB 调试(安装应用)” 权限;
- 使用标准命令:
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+)
- 手机开启 无线调试(设置 → 开发者选项 → 无线调试);
- 记录手机 IP 和端口(如
192.168.1.100:5555
); - 电脑执行:
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 |
底层关机 | ⭐⭐⭐ | ❌ |
模拟电源键 | 间接关机 | ⭐⭐ | ❌ |
推荐操作流程:
- 优先尝试标准广播命令;
- 若无效,使用
reboot -p
或poweroff
; - 极端情况下长按电源键强制断电;
- 遇到系统异常时进入 Recovery 模式修复。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)