ARTICLE · 1270156
不装App、不用Root,自己动手写一个USB投屏
不装App、不用Root,自己动手写一个USB投屏
不装App、不用Root,自己动手写一个USB投屏
我拿安卓9老手机试了,一根USB线连上电脑,画面直接投过去。鼠标能点、能拖、能右键返回,中文也能打。
市面上现成的工具要么得装App,要么不兼容老机器。我就自己动手写了一套:电脑端用C++,手机端跑一段纯Java后台程序。
最麻烦的是怎么把屏幕传出来。普通录屏得有个App在前台点允许,我这压根没界面。最后靠ADB调试身份的特权绕了过去:造一块虚拟屏,让硬件编码器直接取画面,压成H.264流传给电脑。
这套玩法只对安卓5到10管用,11以上系统接口变了,直接不兼容。为了抠出几十毫秒延迟,我把一帧画面的数据搬运从5次砍到基本直传,解码后也不再逐像素复制。多线程分工,一个收画面、一个发指令、一个显示,手机卡一下也不至于把窗口卡死。
鼠标操作也做了映射:左键对应触摸,快速拖动会自动补中间点防“瞬移”,右键是返回,中键回桌面。连接这块也踩过坑,ADB隧道会假连接,所以判断逻辑是“连上了但握手失败等于手机端挂了”,得自动拉起重连;读到格式不对的数据直接断开,外加安全token防偷窥。
源码在这,想折腾的可以看看:
https://github.com/suihanlansnow/control_android_usb
原文不装App、不用Root,自己动手做一个USB投屏神器
上海,13分钟前,















































































