安卓模拟点击事件,可以实现的方法,目前我知道的有两种,都有不同的限制条件
1.通过设备与PC连接,并且ABD接通,PC上运行事先生成好的bat文件,达到点击或者其他目的
bat文件内容:adb shell input tap 360 1080 点击坐标360, 1080
ping -n 5 127.1>nul 等待5秒
adb shell input tap 630 1080 点击坐标630, 1080
ping -n 5 127.1>nul
adb shell input swipe 900 1300 900 1110 从900,1300滑动到900,1100
具体操作:将内容保存到txt文档中,重命名为xxx.bat,运行即可
2.有root权限的手机,可以通过发送linx命令,达到效果
private void execShellCmd(String cmd) {
try {
// 申请获取root权限,这一步很重要,不然会没有作用
Process process = Runtime.getRuntime().exec("su");
// 获取输出流
OutputStream outputStream = process.getOutputStream();
DataOutputStream dataOutputStream = new DataOutputStream(outputStream);
dataOutputStream.writeBytes(cmd);
dataOutputStream.flush();
dataOutputStream.close();
outputStream.close();
} catch (Throwable t) {
t.printStackTrace();
}
}
具体执行:execShellCmd("getevent -p"); //获取root权限
execShellCmd("sendevent /dev/input/event1 1 158 1"); //模拟ontouch
execShellCmd("sendevent /dev/input/event1 1 158 0"); //模拟ontouch
execShellCmd("input keyevent 3"); //home键
int x = new Random().nextInt(screenWidth);
int y = new Random().nextInt(screenheight);
String str = "input tap " + x + " " + y;//点击随机出来的一个坐标
OVER