Open Bob8259 opened 1 month ago
666,不知道adb shell能不能用,可行的话可以封装到RootAutomator中
AMD电脑上的安卓模拟器无法使用RootAutomator和adb shell的event,只有Intel的电脑才行。 其他人也提出过同样问题,并且找到了原因:
AMD电脑上的安卓模拟器无法使用RootAutomator和adb shell的event,只有Intel的电脑才行。 其他人也提出过同样问题,并且找到了原因:
我的电脑就是Intel,也无法运行。我搜过历史issue,里有不少人遇到过这个问题,但是没有解决办法。此外我运行的时候没有任何报错,就是单纯没有效果。所以第一个关于houdini failed的帖子也不适用。我经过很久的研究终于找到了解决办法,分享给大家一起用。
Autox.js 版本:7.0.3 Autox.js 下载渠道:https://github.com/kkevsekk1/AutoX/releases Android 版本:Android 9 Android 机型:Ausu ROG 3(逍遥模拟器) Android 系统类别:逍遥模拟器 VSCODE 扩展版本 Auto.js-Autox.js-VSCodeExt (可选,如果是连接电脑的问题需要填): 问题描述:所有基于RootAutomator的操作都无效。但是反而Tap是有效的。我希望实现多点同时按下并移动的功能,swipe无法实现,只能使用RootAutomator。代码是直接从教程文档复制的,但是无效。 无效代码如下: var ra = new RootAutomator(); ra.press(212,280, 1); ra.touchDown(212,280, 1); ra.touchMove(293, 569, 1); sleep(1000); ra.exit(); 报错日志(可选):无任何报错信息,看起来是正常运行的。但实际上没有点击。 屏幕截图(可选): ——————————————————————————分割线———————————————————————————— 目前已经发现问题原因,问题在于auto js自带的sendevent获取了错误的输入设备。我自己写了封装了几个命令来解决这个问题,代码如下,大家可以直接使用。本人是初学萌新,如有错误还望大佬指点。
注意:首先需需要使用adb shell getevent去获取具体的input event id,然后替换掉所有的event id。在我的设备中,运行这个命令后,再用鼠标去点击模拟器屏幕,就会看到类似以下的提示信息。这就说明我的event id是6,每个设备的event id都不一样。需要获取后修改代码再运行。 /dev/input/event6: 0003 0035 00000127 /dev/input/event6: 0003 0036 00000194 /dev/input/event6: 0003 0030 00000002 /dev/input/event6: 0003 0039 00000000