Chrome Remote DevTools连接约20分钟断开,如何实现3小时稳定调试
问题触发原因
- Mac系统USB端口节能策略触发:Mac默认的低功耗设备休眠阈值默认配置为20分钟,无持续高带宽交互的USB调试连接会被判定为闲置设备自动切断供电,连接中断后原有ADB会话直接失效,因此设备端调试授权被撤销,就会重新弹出授权提示、ADB无法识别设备。
- ADB服务默认闲置回收机制:原生ADB服务会自动终止超过一定时长无活跃操作的调试会话,主动回收连接。
- 安卓ROM定制化权限限制:部分安卓厂商定制系统会定期清理未标记永久授权的调试会话,到期后自动撤销授权强制断开连接。
解决方案
- 关闭Mac USB节能配置:打开系统设置→电池→选项,取消勾选「如果可能,使硬盘进入睡眠」「唤醒以供网络访问」,同时终端执行命令
sudo pmset -a ttyskeepawake 1,配置为调试过程中不自动休眠USB连接的调试设备。 - 调整ADB保活配置:在用户目录下的
.android文件夹中新建或编辑adb_usb.ini文件,添加配置ADB_CONNECT_TIMEOUT=36000,将会话超时时间设置为10小时。调试前可切换为TCP/IP网络调试模式:执行adb tcpip 5555开启设备网络调试端口,同局域网下执行adb connect 设备局域网IP:5555即可通过网络连接调试,稳定性远高于USB连接。 - 安卓端配置永久授权:首次弹出USB调试授权窗口时,勾选「始终允许来自这台计算机的调试」选项,部分ROM需要额外在开发者选项中关闭「USB权限超时自动收回」等调试权限自动回收相关开关。
- 运行后台保活脚本:调试开始后在终端后台执行
while true; do adb shell date > /dev/null; sleep 60; done,每分钟向设备发送一次心跳请求,避免连接被判定为闲置回收。
故障截图


内容的提问来源于stack exchange,提问作者MukulCode
相关产品推荐
相关产品推荐

