Skip to content

关键实现说明

木木的木头 edited this page Nov 9, 2020 · 3 revisions

如何获得权限操作其他应用

目前主要的技术方案有3种 1.adb模拟,其实现最简单,但是性能差

2.使用Instrumentation类,但是正常情况下没有权限操作其他应用,需要使用xposed框架提权(本项目就是这种)

3.基于linux编程,操作硬件,程序通过root权限调用(按键精灵等软件的实现)

4.使用安卓系统的辅助功能

其中第一种性能有明显瓶颈,第二种需要用户有xposed框架,普通用户无法使用,但是开发简单,性能好。第三种开发较复杂,另外安卓程序和执行点击等操作的二进制文件通讯不好处理(按键精灵是通过网络通讯),可能存在稳定性问题,但是用户使用条件稍低一点,只需要root手机即可。第四中优点是性能好,开发简单,安卓系统支持,无需任何特殊权限,但是可能被游戏检测或者被游戏封掉

本项目实现了其中2.3.4共三种方案,默认会自动选择可用方式。你也可以手动强制指定实现方式

程序运行过程

当程序启动时,将使用安卓的屏幕录像接口,开启录像机,随时监听屏幕。当用户点击开始运行后,程序将新启动一个线程,在新线程中执行GamePackage/Main.java中的start方法(所以start方法应该是游戏脚本的入口方法)

Clone this wiki locally