首页
/ 解决Scrcpy在Xiaomi设备上输入事件注入失败的问题

解决Scrcpy在Xiaomi设备上输入事件注入失败的问题

2025-04-28 09:04:33作者:庞眉杨Will

问题背景

许多用户在Xiaomi设备(如Xiaomi 10和Redmi Note 11 Pro)上使用Scrcpy时遇到了输入事件注入失败的问题。具体表现为当尝试通过电脑控制手机时,系统会抛出"INJECT_EVENTS permission"相关的安全异常。

错误现象分析

当用户尝试通过Scrcpy控制Xiaomi设备时,控制台会显示以下关键错误信息:

[server] ERROR: Could not invoke method
java.lang.reflect.InvocationTargetException
Caused by: java.lang.SecurityException: Injecting input events requires the caller (or the source of the instrumentation, if any) to have the INJECT_EVENTS permission.

这表明Scrcpy服务端在尝试注入输入事件时,被Android系统阻止,原因是缺乏必要的权限。

根本原因

这个问题通常出现在Xiaomi设备的MIUI系统上,特别是较新版本的Android系统(如Android 14)。MIUI系统对输入事件注入有额外的安全限制,需要用户明确授予相关权限才能正常工作。

解决方案

1. 检查开发者选项

首先确保设备已启用开发者选项和USB调试模式:

  1. 进入手机设置 > 关于手机
  2. 连续点击"MIUI版本"7次以启用开发者选项
  3. 返回设置 > 更多设置 > 开发者选项
  4. 启用"USB调试"和"USB调试(安全设置)"

2. 授予必要权限

在MIUI系统中,还需要额外授予Scrcpy输入权限:

  1. 进入设置 > 更多设置 > 开发者选项
  2. 找到"USB调试(安全设置)"并启用
  3. 部分设备可能需要启用"模拟位置"选项

3. 重启设备

许多用户报告在完成上述设置后,简单地重启设备即可解决问题。这是因为某些权限更改需要完全重启才能生效。

4. 尝试TCP/IP连接

如果USB连接仍有问题,可以尝试通过Wi-Fi连接:

  1. 确保手机和电脑在同一网络
  2. 在手机上启用USB调试
  3. 通过USB连接手机并执行adb tcpip 5555
  4. 断开USB,使用scrcpy --tcpip=<手机IP>:5555连接

注意事项

  1. 不同MIUI版本可能有略微不同的设置路径
  2. Android 14引入了更严格的权限控制,可能需要更多步骤
  3. 某些安全软件可能会阻止输入事件注入
  4. 确保使用最新版本的Scrcpy以获得最佳兼容性

总结

Xiaomi设备上的输入事件注入问题主要是由于MIUI系统的安全限制导致的。通过正确配置开发者选项、授予必要权限并重启设备,大多数情况下可以解决此问题。如果问题仍然存在,可以尝试替代连接方式或查阅特定设备型号的解决方案。

登录后查看全文
热门项目推荐
相关项目推荐