上个帖子 Android 无障碍权限下不支持多点模拟触控 不需要root的思路 https://bbs.125.la/forum.php?mod=viewthread&tid=14328100
这次说一下 不需要无障碍,不需要root的思路,只是思路,没有代码,相关代码可以自行反编译
买过几种手柄底座,北通G1手柄,新游手柄,迪龙底座
发现他们共同点,电脑激活之后,就能映射使用手柄或者键盘鼠标控制手机
最先看的是新游手柄激活工具,搜索可以下载到,解压之后里面有个InjectServer.jar,类似于scrcpy的jar文件,运行 Start.bat
1、关键行是 adb push InjectServer.jar到usb连接的手机上,app_process运行并能够常驻后台,重启手机会失效
jadx (https://github.com/skylot/jadx/releases/tag/v1.3.0)反编译InjectServer.jar查看源码
2、android代码 SocketServer 接收文本消息,不同的内容处理如下,收到消息马上会断开客户端连接,每次都需要重连
quit 退出 app_process pointer/x/x/x 模拟点击 对应 android MotionEvent,具体参数参考android、InjectServer里面的源码 key/x/x 模拟按键 对应 android KeyEvent 具体参数参考android,InjectServer里面的源码
3、易代码,发送quit退出,发送key/ 按下弹起 home 键,没有测试 pointer触摸事件,参数复杂,包括触摸、滑动。有人搞明白pointer希望出个帖子大家参考@我一下,连接的ip是手机无线ip,
.版本 2
.支持库 spec
调试输出 (客户1.连接 (“192.168.1.249”, 4567))
' 时钟1.时钟周期 = 50
' 客户1.发送数据 (“quit” + #换行符)
客户1.发送数据 (“key/0/4” + #换行符)
客户1.发送数据 (“key/1/4” + #换行符)
上面的代码可以扩展成任意语言,android本机控制,做一个一键连招,一键换装,自行扩展
4、新游这个jar包暴露在外,根据这个,处理其他手柄,底座都没问题,adb shell 进目录都能找到相关的jar文件吧。
操作步骤: 1、下载激活工具 2、一键激活(需要开启调试) 不重启手机就能一直访问 3、开发使用socket客户端连接,发送点位数据 quit/pointer/key
参考技术及工具:jadx、scrcpy、新游手柄激活工具
有疑问站内可以联系
|