0x00 前言ADB 即 Android Debug Bridge,用于安卓调试的工具。
这里只说明如何用 ADB 解锁手机,其他操作可参看官方文档。
0x10 准备工作0x11 PC 安装 ADBGoogle 提供了无需安装 Android Studio SDK 的 ADB 版本:
Windows: 【Google 下载】【本地下载】
Mac: 【Google 下载】【本地下载】
Linux: 【Google 下载】【本地下载】
下载并解压后,把解压包的根目录配置到环境变量、即可连接到手机。
测试命令: adb --version
0x12 手机开启调试模式
手机先用数据线连接 PC (不能是充电线、无法用于传输命令)。
开启开发者模式:
设置 -> 关于手机(/我的设备等) -> 版本号(/内部版本号/软件版本号等) -> 连续快速点 5 次以上
此时开发者模式菜单被激活,找到它(一般在根目录、或系统设置目录中)
打开 开发者选项 开关 -> 打开 USB 调试开关 -> 仅充电模式(必须)
0x20 连接手机
PC 终端输入命令: adb devices
若手机从未连接过此台 PC,会弹出确认提示,点击 允许
若 PC 终端显示 XXXXXXXXXXXXXXXX device 即连接成功
但若是以下两种情况之一,可能因为是华为系列手机的问题:
List of devices attached 下无设备
显示 XXXXXXXXXXXXXXXX unauthorized
如果是 MAC 可以从 Console 看到异常信息
此时需要进入工程后台菜单:
拨号键盘输入密码 *#*#2846579#*#*
后台设置 -> USB 端口设置 -> 生产模式
华为系列手机在断开 ADB 一段时间后(没测试过,体感是 60 分钟左右),会自动切回默认的 Hisuite 模式,需要再进入工程后台再次切换模式
0x30 解锁手机连接 ADB 后,利用 adb shell 命令即可实现手机解锁:
# 唤醒屏幕
adb shell input keyevent 224
# 滑动屏幕(调出密码输入界面)
adb shell input swipe 300 1000 300 500
# 输入锁屏密码( 改为实际密码)
adb shell input text
# 返回首页
adb shell input keyevent 3
0x99 参考文档
《常用 adb 指令》
《adb 命令模拟按键事件 KeyCode》
《华为手机有线连接 adb》
《华为手机无线连接 adb》
《ADB Android Device Unauthorized》
《自动化测试: adb 解锁手机的思路》