Android模拟点击事件

安卓模拟点击事件,可以实现的方法,目前我知道的有两种,都有不同的限制条件

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

猜你喜欢

转载自blog.csdn.net/qq_24179679/article/details/79044092