ATXServer2设备连接成功后,显示灰屏问题解决
一、前言
最近在研究ATXServer2, 并进行重构二次开发, 过程中遇到部分机型连接成功后,屏幕可以操作但是无法显示,屏幕呈灰色显示, 毕竟ATXServer2这个框架还是比较小众 ,网上查了很久都没有相关资料。发现很多人也遇到了相同问题,所以在此将自己的解决办法,以及相关资料分享给大家。
二、问题定位
首先我们要知道屏幕投屏这块是怎么实现的, ATXServer2是通过STF框架的一个工具minicap实现的, minicap运行于android设备端,负责设备屏幕视频的实时采集并通过socket接口发送。通过测试我们发现是minicap的问题,部分机型系统不支持minicap的运行。
1、连接手机后ATXServer2会自动推送minicap和minicap.so文件到/data/local/tmp目录
2、获取手机分辨率
adb shell wm size
3、测试minicap是否可以运行
adb shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -P 1080x1920@1080x1920/0 -t 测试是否可运行
adb shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -P 1080x1920@1080x1920/0 运行
-P 后面的参数格式:{RealWidth}x{RealHeight}@{VirtualWidth}x{VirtualHeight}/{Orientation}
Orientation可以理解为手机的旋转角度,可选参数为 0 | 90 | 180 | 270
通过上述命令可以测试minicap在当前手机是否可用
三、解决问题
1、小米设备
将设备系统升级到最新版本(部分MIUI版本不支持minicap, 最新的阔以)
2、minicap不可用
暂时未发现解决方法!!!!!
如果有新的解决方法, 本帖将持续更新!!!