(安卓无线调试)ADB 无法连接及 Scrcpy 问题排查指南
问题描述
在使用 ADB 和 Scrcpy 时遇到以下问题:
-
无法连接到 ADB 服务。
-
即使连接成功,Scrcpy 显示以下错误:
INFO: scrcpy 1.10 <https://github.com/Genymobile/scrcpy>
D:\.....\scrcpy\scrcpy-server.jar: 1 file pushed. 0.2 MB/s (22546 bytes in 0.132s)
[server] ERROR: Exception on thread Thread[main,5,main]
android.media.MediaCodec$CodecException:
at android.media.MediaCodec.native_start(Native Method)
at android.media.MediaCodec.start(MediaCodec.java:2447)
at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:70)
at com.genymobile.scrcpy.Server.scrcpy(Server.java:32)
at com.genymobile.scrcpy.Server.main(Server.java:133)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:408)
INFO: Initial texture: 1200x2648
WARN: Could not terminate server
Press any key to continue...
解决步骤
1. 无法连接到 ADB 服务
1.1 重启无线调试服务
-
打开手机的开发者选项。
-
关闭无线调试功能,然后重新打开。
1.2 重启 ADB 服务
在终端执行以下命令:
adb kill-server
adb start-server
1.3 检查设备连接
执行以下命令查看已连接设备:
adb devices
确保输出中显示类似以下内容:
List of devices attached
192.168.3.66:5555 device
2. Scrcpy 问题排查
2.1 尝试降低视频分辨率
某些设备可能无法处理默认分辨率。可以通过 --max-size
参数限制分辨率。例如:
scrcpy -s 192.168.3.66:5555 --max-size 1024
2.2 检查设备兼容性
-
确保设备支持 Scrcpy 的最低要求。
-
检查设备是否存在硬件解码器兼容性问题。
2.3 更新 Scrcpy 和 ADB
-
下载最新版本的 Scrcpy 和 ADB 工具。
-
替换旧版本文件,确保版本一致性。
3. 日志分析与进一步排查
3.1 查看详细日志
在运行 Scrcpy 时添加 --log-level
参数:
scrcpy -s 192.168.3.66:5555 --log-level=debug
分析输出日志以定位问题。
3.2 检查系统权限
确保当前用户对 Scrcpy 和 ADB 工具所在目录具有读写权限。
3.3 确认网络环境
-
确保手机和电脑处于同一网络下。
-
检查是否存在防火墙或杀毒软件阻止连接。
总结
通过以上步骤,应该能够解决大部分 ADB 和 Scrcpy 相关问题。如果问题仍然存在,可以尝试在 Scrcpy 的官方 GitHub 提交问题并附上完整日志。