屏幕无法触控时,通过无线 ADB 和 scrcpy 控制 Android 手机

一、问题场景

手机屏幕可以显示,但触摸已经失效。手头只有一个 Type-C 鼠标,而手机也只有一个 USB-C 接口:

  • 插鼠标时,可以操作手机,但无法连接电脑。
  • 插电脑时,手机弹出 USB 调试认证,却无法点击“允许”。
  • 普通 USB-C 分线器不一定有效,因为鼠标和电脑要求手机扮演不同的 USB 角色。

解决思路是先用 Type-C 鼠标开启并配对“无线调试”,让电脑通过 Wi-Fi 控制手机。无线控制建立后,再拔掉鼠标、插入电脑数据线,并通过无线 scrcpy 点击 USB 授权提示。


二、准备条件

需要满足以下条件:

  • 手机和电脑连接同一个局域网或 Wi-Fi。
  • 手机屏幕仍能正常显示。
  • Type-C 鼠标可以操作手机。
  • 电脑已安装 ADB。
  • 电脑已安装 scrcpy。

本次电脑上的程序位置是:

ADB:C:\Program Files\adb\adb.exe
scrcpy:C:\tools\scrcpy-win64-v4.0\scrcpy.exe

可以在 PowerShell 中检查:

adb version
adb devices

三、在手机上开启开发者选项

保持 Type-C 鼠标连接手机。

打开:

设置 → 我的设备/关于手机 → MIUI 版本或系统版本

连续点击版本号大约 7 次,直到手机提示已经进入开发者模式。

然后进入:

设置 → 更多设置 → 开发者选项

开启:

USB 调试
无线调试

不同 Android 品牌的菜单名称可能略有不同,也可以直接在设置顶部搜索“无线调试”。


四、通过配对码进行无线配对

在手机中打开:

开发者选项 → 无线调试 → 使用配对码配对设备

手机会显示类似信息:

IP 地址和端口:192.168.10.189:39569
Wi-Fi 配对码:603572

注意事项:

  • 保持配对弹窗打开。
  • 保持手机屏幕亮着。
  • 配对码和端口都是临时的。
  • 弹窗关闭或超时后,需要重新生成。
  • 此处显示的是“配对端口”,不一定是后面连接手机使用的端口。

在电脑 PowerShell 中执行:

adb pair 192.168.10.189:39569

ADB 会提示:

Enter pairing code:

输入手机显示的六位配对码:

603572

也可以直接写在命令中:

adb pair 192.168.10.189:39569 603572

成功时通常显示:

Successfully paired to 192.168.10.189:39569

五、连接无线 ADB

配对成功不等于已经连接。

返回手机的“无线调试”主页面,找到:

IP 地址和端口:192.168.10.189:39237

这个端口可能与刚才的配对端口不同。

在电脑中执行:

adb connect 192.168.10.189:39237

成功时显示:

connected to 192.168.10.189:39237

检查设备状态:

adb devices -l

正常结果类似:

List of devices attached
192.168.10.189:39237 device product:thyme model:M2102J2SC device:thyme

关键是设备后面必须显示:

device

如果显示 offlineunauthorized 或没有设备,说明还不能控制。


六、通过无线 scrcpy 控制手机

明确指定无线设备地址启动 scrcpy:

C:\tools\scrcpy-win64-v4.0\scrcpy.exe -s 192.168.10.189:39237

如果使用 Git Bash:

/c/tools/scrcpy-win64-v4.0/scrcpy.exe -s 192.168.10.189:39237

成功后,电脑上会出现手机画面,可以用电脑鼠标操作。

此时 Type-C 鼠标仍然插在手机上,但已经不再是必需的。


七、从无线连接切换到 USB 连接

保持无线 scrcpy 窗口运行,然后:

  1. 拔掉手机上的 Type-C 鼠标。
  2. 用 USB 数据线把手机连接电脑。
  3. 手机可能弹出“是否允许 USB 调试”。
  4. 在无线 scrcpy 窗口中点击“允许”。
  5. 建议勾选“始终允许使用这台计算机”。

然后检查 ADB:

adb devices -l

可能会出现两个连接:

192.168.10.189:39237 device
229c73                 device

它们不是两台手机,而是同一台手机的两个连接通道:

序列号 连接方式
192.168.10.189:39237 无线 ADB
229c73 USB ADB

八、出现两个设备时必须使用 -s

当 ADB 同时看到 USB 和无线连接时,直接启动 scrcpy 可能报错:

ERROR: Multiple ADB devices
ERROR: Could not select a device

这时使用 -s 指定连接。

通过 USB 控制:

C:\tools\scrcpy-win64-v4.0\scrcpy.exe -s 229c73

通过无线控制:

C:\tools\scrcpy-win64-v4.0\scrcpy.exe -s 192.168.10.189:39237

本次最终使用的 USB 命令是:

C:\tools\scrcpy-win64-v4.0\scrcpy.exe -s 229c73

九、常见问题

1. adb pair 失败

例如:

protocol fault
couldn't read status message

常见原因:

  • 配对码已经过期。
  • 配对弹窗已经关闭。
  • 输入了无线调试主页面的连接端口,而不是配对弹窗端口。
  • 手机屏幕休眠后配对服务关闭。

解决办法是重新打开“使用配对码配对设备”,立即使用新的端口和配对码。

2. adb connect 连接失败

例如:

cannot connect
connection refused

检查:

  • 手机和电脑是否在同一个 Wi-Fi。
  • “无线调试”是否仍然开启。
  • 使用的是否为无线调试主页面中的连接端口。
  • 手机 IP 或端口是否发生变化。

不要默认使用 5555。Android 11 及以后通常使用随机端口。

3. adb devices 显示 unauthorized

表示手机还没有允许这台电脑进行 USB 调试。

需要在手机认证弹窗中:

勾选“始终允许使用这台计算机” → 点击“允许”

4. adb devices 显示 offline

可以尝试:

adb reconnect
adb devices -l

仍然异常时:

adb kill-server
adb start-server
adb devices -l

5. scrcpy 路径错误

本次错误使用了:

/c/tools/scrcpy.exe

实际程序位于:

C:\tools\scrcpy-win64-v4.0\scrcpy.exe

Git Bash 中对应:

/c/tools/scrcpy-win64-v4.0/scrcpy.exe

6. 无线连接在插入 USB 后断开

只要 USB 调试已经授权,直接改用 USB 序列号即可:

adb devices -l
C:\tools\scrcpy-win64-v4.0\scrcpy.exe -s 229c73

如果 USB 尚未授权,而无线连接又提前断开,只能重新插入鼠标、重新开启无线连接,再重复切换过程。


十、下次使用的最短流程

手机端:

插入 Type-C 鼠标
→ 开启无线调试
→ 使用配对码配对设备
→ 记录配对端口和六位配对码

电脑端:

adb pair 手机IP:配对端口
adb connect 手机IP:连接端口
adb devices -l
C:\tools\scrcpy-win64-v4.0\scrcpy.exe -s 手机IP:连接端口

无线 scrcpy 打开后:

拔掉 Type-C 鼠标
→ 插入电脑数据线
→ 在无线 scrcpy 中允许 USB 调试

最后切换到 USB:

adb devices -l
C:\tools\scrcpy-win64-v4.0\scrcpy.exe -s USB序列号

十一、使用结束后的安全处理

断开指定无线设备:

adb disconnect 192.168.10.189:39237

断开所有无线 ADB:

adb disconnect

如果以后不再使用,可以在手机上:

关闭无线调试
关闭 USB 调试
删除已配对的调试设备

无线调试只建议在可信的家庭或办公局域网中开启,不要长时间在公共 Wi-Fi 下保持开启。

评论

还没有人评论,抢个沙发吧...

Viagle Blog

欢迎来到我的个人博客网站