STF minicap 支持 Android 10 版本

JamesChung · 2019年09月09日 · 最后由 chenyouan 回复于 2020年05月20日 · 12087 次阅读

minicap 已支持 Android 10 版本,
需要的同学请自取:https://github.com/JamesChungZLL/minicap

共收到 34 条回复 时间 点赞

非常感谢! git 上 stf 和 airtest 都没找到👍 👍

赞一个,docker 的 stf 最新的镜像支持了吗?

对 TD 回复

我暂时只单独更新了 minicap,没有用 stf 的镜像。不过可以你自己尝试一下把跟 docker 镜像里和 minicap 相关的资源文件替换掉

minitouch 怎么解决呢?

对 JamesChung 回复

好的,我可能暂时还完不成这个任务,先学习一下

对 大浪 回复

有关操控这一块,我没有用 minitouch 哎,自己用 java 写的,调用的 framework 层的影藏接口,从 Android4.4 到现在 10 都一直能用。

36楼 已删除
对 JamesChung 回复

大神,可以共享一下吗😂

对 大浪 回复

代码就不共享了,给你个思路吧,映射 InputManager 的 injuectEvent(方法名可能不对,但是应该差不多就是这个了)方法,然后参数设定可以参照 uiautomator2.0 的源代码,只有 mousedown、mousemove、mouseup 这三种事件。
加油哦

10楼 已删除
对 JamesChung 回复

根据这里的说法 android 10 support,这个 api getBuiltInDisplay应该是被废弃了,使用 getPhysicalDisplayToken进行代替。

343 行替换一下方法似乎更好。

供参考。我还没有 10 的源码哈

这里看的确是删除了。

最新的 master 上使用的是getPhysicalDisplayToken方法。

感谢提醒哈,我来看看哈

对 JamesChung 回复

3Q,在你回复前也写了一个,方案竟然和你一样,Android 5.0 以上 monkey 也是用的这个。
再次请教一下,我这边发现 minitouch 和自定义 touch 方案貌似不能共存。比如我连接一台 Android Q 和一台 Android 9,发现 Android 9 的 shell 会无响应,你这边有相同问题吗?

对 大浪 回复

我这边因为没有用 minitouch,所以没有遇到你的问题。我也可能没有明白的问题,要不你试试 MTC 真机的效果,里面的真机服务是我们提供的,右边的工具栏应用列表,启动、卸载应用都是用的 adb shell 命令,看看有没有你的现象。

小米 9 的 android 10 系统报错:
Vector<> have different types

不好意思伸个手,请问有直接编译好的 minicap 文件吗?

手里没有小米 9 的设备😜

对 剪烛 回复

需要仔细看下 readmine,里面的 minicap 文件都有的

对 剪烛 回复

加 VX,15906217298,我发你

请问一下楼主,我是上个月 docker 安装 stf 的,Android10 识别不了。用楼主的解决方法,应该替换哪些文件进行更新,是进 docker 里面操作吗?

对 sawchen-github 回复

docker 塞文件是有专门的命令的,具体哪个我忘了;另外不是替换,而是添加,添加 minicap 跟 Andorid10 相关的 so 文件,具体哪些,看一下 git 的 commit history 就知道啦

可以编译出来吗

小米 miui11 这一次更新好像都会导致 minicap 执行出现这个问题,不管是基于 Android10 还是 9 的 miui11 都报这个问题。
我提出一个方案:一旦遇到 minicap 执行出现问题就自动切换成使用隐藏接口快速截图的方案,sdk-level 27 之前包含 27 是

screenshot(Integer, Integer)

27 以上是

screenshot(Rect, Integer,Integer,Integer)

和 minicap 区别就是这个方案会不停地截图,可能流量会高点。

测试生 在 Android Q 连接不上 Airtest 工具 中提及了此贴 12月09日 17:05

请问,目前官网的 stf 不支持 android10,这个 minicap 要放到 stf 源码的哪个目录,需要改 stf 源码 吗

对 promise 回复

这个不清楚啊,你自己调试看看哈

仅楼主可见
对 promise 回复

stf 支持了 android10 没?

请问你们这个问题解决了吗?

有人想用 scrcpy 来代替 minicap 吗,我已经完成了 scrcpy 的测试,但是我没找到办法删除 minicap

大佬,小米 9 的 android 10 系统报错:
Vector<> have different types 怎么解决啊

对 张沛 回复

有呀,沟通一下子

对 Jacc 回复

我目前是直接改成了 Java 项目,但是有些 stf 的共功能我还是想要的,你有 stf push 到设备里的那个 STF Service 的使用文档吗。我想我直接使用那个 apk 来完成相关工作,而不再依赖于 stf 那个复杂的代码了。

仅楼主可见
仅楼主可见
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册。