一、背景说明
远程调试真机需要将设备的截图实时展示到前端页面上,Android原生截图一般在3秒左右,无法满足实时远程调试,因此引入了miniCap截图方案,miniCap已知Android支持较好,小米设备不支持,对于已知支持较好是一种什么样的数据概念,miniCap的支持范围可以覆盖多少机型、多少版本、多少SDK,基于此提出了MiniCap巡检机器人方案,希望通过该方案可以得出以数据为基准的miniCap支持现状。
二、巡检机器人
共230台真机设备,巡检核心流程如下,该流程即网络上通用的miniCap启动过程:
三、巡检问题/解决方式
表头 | 表头 |
---|---|
文件无法push到/data/local/tmp文件夹下 | 将文件push到sdcard文件夹下,通过cat命令移动到执行文件夹下 |
/system/bin/sh: tr: not found | 网络上通用的判断SDK版本问题有近15台设备不能兼容,当发现异常时采用兼容方式重新判断 |
system/bin/sh: /data/local/tmp/minicap: not executable: 64-bit ELF file | CPU版本95%都为arm64-v8a,仍然有5%的设备为armeabi-v7a,需要对其单独做兼容 |
Segmentation fault | 部分设备多次执行miniCap时出现该问题,将文件夹下相关miniCap删除,重新执行 |
Vector<> have different types (this=0x7ff8640f70, rhs=0x7ff86410c0) | |
Aborted | 部分红米设备&部分小米设备,暂无解决方式 |
成功设备数据
经过多轮巡检,巡检成功设备221台
失败设备数据
失败设备37台
小米设备13台,15台设备远程数据未传回
失败原因
3台21SDK以下不支持、6台设备文件查找异常
小米10、小米9SE, 红米全系列、小米10青春版、小米CC9、小米10pro均不支持
五、结论说明
巡检总数 | 成功设备数 | 失败设备数 | 成功率 | 覆盖品牌 | 覆盖版本 | SDK支持范围 | 总覆盖机型 | 成功覆盖机型 |
---|---|---|---|---|---|---|---|---|
258 | 221 | 37 | 85.6 | 18 | Android4.4-Android10 | 22~30 | 177种 | 153种 |
小米机型
对于小米机型,miniCap并非全部不支持,对于现有小米机型巡检结果如下
小米机型 | |
---|---|
成功 | 小米 5、小米 MIX2、小米note3、小米Max 2、小米6、小米8SE、小米9SE、小米MIX、小米8 LITE、小米10、小米11青春版、小米5X |
失败 | 小米8、小米10Pro、小米9SE、小米10青春版、小米CC9、红米K20 PRO、红米7、红米Note8 |
网友评论