使用Java自动化方法模拟Android手机点击、触屏事件

     最近有一个测试需求,需要重复性的滑动手机、对手机进行触摸、点击操作等,所以就需要实现一个Android模拟人工操作的功能。一开始想写一个APK,但在实现过程中遇上了麻烦,好像需要系统应用权限等,笔者本身并不是做Android开发的,所以就没有实现。最后是通过adb shell 实现了该功能。Java开启线程,结合键盘和鼠标事件,使用adb shell控制手机。详解如下。

  一、所需知识

1、最基础的adb shell 指令。input tab 等。
2、Java自动化基础知识。java.awt.Robot
3、无
二、所需环境
硬件:一台电脑、一部手机、一根数据线。软件:jdk、adb工具
三、编码
1、Java模拟鼠标点击操作方法

//实现鼠标左键点击操作

public static void pressMouse(Robot r,int m,int delay){
r.mousePress(m);
r.delay(10);
r.mouseRelease(m);
}

2、Java模拟鼠标移动操作

//实现将鼠标移动到电脑屏幕 x=518,y=339的位置

Robot rb = new Robot();
rb.mouseMove(518,339);
rb.delay(500);

3、Java模拟键盘输入操作

public static void pressKey(Robot robot,int keyEvent){
        robot.keyPress(keyEvent);  
        robot.keyRelease(keyEvent);  
        robot.delay(50);
}

//该代码可实现输出“a”

pressKey(rb,KeyEvent.VK_A);

4、简单的adb指令

adb shell   //进入shell

input tab 980 900   //点击手机 x=980  y=900处

input swipe 540 480 540 190  //手机向上滑动290像素

input keyevent 4 //返回

5、开启Java线程

new Thread(){

Robot rb = new Robot();
        public void run() {  
                while (true) {

//to do

} }

四、使用方法

通过上述4个方法已经能够实现使用Java自动化控制Android手机达到控制手机的目的。具体使用方法如下:

1、打开cmd(windows 控制台)

2、cd  到  platform-tools文件夹(该文件可通过附件下载)下

3、打开手机开发者选项并开启USB调试选项(各手机型号开启不一样,可自行百度)

4、输入 adb shell

5、输入 input tab 980 900

6、输入 input swipe 540 480 540 190

7、输入 input keyevent 4 

注:4/5/6/7为人工输入,只是方便读者体验adb shell的功能。这4步使用程序可代替人工操作。

总结:

上述内容可实现使用Java自动化控制Android手机达到控制手机的功能,附件代码中结合了JavaSwing实现了窗体化,与本文无关,可忽略。代码及platform-tools已上传。下载地址:http://download.csdn.net/download/fanguoddd/10139597    想设置资源分为0还不行。。。(建议看完代码逻辑后再运行,否则容易停不住。。)。欢迎大家在评论区交流。

没有下载积分的童鞋看这里!!!扫描公众号二维码免费获取。公众号二维码:

                                        

最后,打波广告。微信搜索公众号"购即省",淘宝购物领券,购物即省钱。

 

 

  • 15
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
### 回答1: 在Java中,模拟Android点击可以通过使用Java的GUI库来实现。常用的GUI库如Swing或JavaFX都可以用来模拟Android点击。 在Swing中,可以通过创建一个按钮组件,并为按钮添加事件监听器,当按钮被点击时触发相应的操作。例如,可以创建一个JFrame窗体,然后在窗体中添加一个JButton按钮,并为按钮添加一个ActionListener事件监听器。当按钮被点击时,可以进行一些模拟Android点击的操作,比如弹出一个对话框或执行一些逻辑。 示例代码如下: ```java import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class ClickSimulation { public static void main(String[] args) { JFrame frame = new JFrame("模拟Android点击"); frame.setSize(300, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JButton button = new JButton("点击我"); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 模拟Android点击操作 JOptionPane.showMessageDialog(frame, "Hello, Android!"); } }); frame.add(button); frame.setVisible(true); } } ``` 上述代码创建了一个大小为300x200的窗体,窗体中有一个点击按钮。当按钮被点击时,会弹出一个对话框显示"Hello, Android!"。 通过类似的方式,在JavaFX中也可以实现模拟Android点击JavaFX使用了FXML来描述界面布局,可以使用FXML Scene Builder来创建界面,然后通过Java代码控制交互行为。 总之,在Java模拟Android点击可以使用Java的GUI库,根据具体需求来选择合适的库和实现方式。 ### 回答2: Java模拟Android点击的过程可以通过使用Java的图形用户界面(GUI)库和模拟点击事件方法来实现。 首先,需要创建一个Java应用程序使用Java开发环境(IDE)创建一个新的项目。然后导入相关的库,如AWT(Abstract Window Toolkit)和Swing,以便在Java应用程序使用GUI组件和事件处理器。 在程序中创建一个按钮或其他可以点击的GUI组件,并为之创建一个事件处理器。事件处理器是一个实现了ActionListener接口的类,它通过响应用户的点击事件执行相应的操作。 接下来,可以使用模拟点击方法来触发按钮的点击事件。可以使用按钮的doClick()方法模拟点击操作。doClick()方法将会执行按钮的点击事件处理器中定义的操作。 当模拟点击事件执行后,可以在事件处理器中添加一些代码来模拟Android中的点击效果,比如改变按钮的外观或触发其他相关的事件。 最后,编译并运行程序,在程序界面上点击按钮,或者通过调用按钮的doClick()方法模拟点击事件,从而实现Java模拟Android点击的效果。 需要注意的是,Java模拟Android点击只是一种近似的模拟,并不能完全还原Android平台的点击效果。在实际开发中,建议尽量使用Android平台的模拟器或真实设备进行测试和调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

男儿何必尽成功

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值