前提准备: 1.http://www.android-studio.org/ 下载手机android sdk manage,根据adb在电脑上的环境变量 2.手机 (我的是荣耀10 android 8.1.0 屏幕大小2280 1080) 3.查看robot类使用 ,查看手机 adb 简单语法

步骤:1.手机打开开发者模式,连到电脑

2.电脑调到cmd模式,输入adb services 查看是否有手机接入(两个目的:1.检查adb可以看出是否好的2.可以看到手机的驱是否可以)

3.在idea输入一下代码(参数有你手机实际来调)

package org.pgj;
import org.springframework.boot.autoconfigure.SpringBootApplication;import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.*;/*** @author Administrator* @date 2018/12/18 1:39*/
@SpringBootApplication
public class App {private volatile static int second1 = 500;private static Robot robot;private static Thread thread = new Thread(() -> {startADB();});static {try {robot = new Robot();} catch (AWTException e) {e.printStackTrace();}}public enum State {YSE, NO}public static void main(String... args){drawFrame();}public static void drawFrame() {// 创建 JFrame 实例JFrame frame = new JFrame("Example");// Setting the width and height of frameframe.setSize(350, 150);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JPanel panel = new JPanel();frame.add(panel);placeComponents(panel);frame.setVisible(true);}private static void placeComponents(JPanel panel) {panel.setLayout(null);JLabel userLabel1 = new JLabel("刷新次数:");userLabel1.setBounds(10, 20, 80, 25);panel.add(userLabel1);/** 创建文本域用于用户输入*/final JTextField userText1 = new JTextField(20);userText1.setBounds(100, 20, 165, 25);userText1.setText("500");panel.add(userText1);// 创建运行按钮JButton loginButton = new JButton("开始");loginButton.setBounds(150, 60, 80, 25);panel.add(loginButton);loginButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {second1= Integer.valueOf(userText1.getText());if(!thread.isAlive()){thread.start();}}});}public static void startADB()  {try {robot = new Robot();} catch (AWTException e) {e.printStackTrace();}robot.setAutoDelay(100);pressCMDEdit();pressADBEdit();for (int i = 0; i < second1; i++) {pressFirstTap();pressSwipe();robot.delay(100);pressFlassh();}}/** 单击* */private static void pressMeta(int key) {robot.keyPress(key);robot.keyRelease(key);}private static void pressString(int... keys)  {for (int i = 0; i < keys.length; i++) {if (keys[i] == 0) {continue;}pressMeta(keys[i]);}pressMeta(KeyEvent.VK_ENTER);robot.delay(50);}private static int[] convertStrsToInts(String strs) {int[] targe = new int[100];Class<KeyEvent> keyEventClass = KeyEvent.class;Field[] fields = keyEventClass.getDeclaredFields();Map<String, Integer> fieldMap = getFieldMap(fields);for (int i = 0; i < strs.length(); i++) {String targeName = String.valueOf(strs.charAt(i));if (targeName.equals(" ")) {targe[i] = KeyEvent.VK_SPACE;continue;}Integer targeInteger = fieldMap.get(targeName);if (targeInteger == null) {System.out.println(targeName);continue;}targe[i] = targeInteger.intValue();}return targe;}public static Map<String, Integer> getFieldMap(Field[] fields) {Map<String, Integer> map = new HashMap<>();for (Field field : fields) {field.setAccessible(true);if (field.getType() == int.class && Modifier.isStatic(field.getModifiers())) {String fieldName = field.getName();int i = fieldName.lastIndexOf("_");if (i == 0 || i < 0) {continue;};String targeName = fieldName.substring(i + 1, fieldName.length()).toLowerCase();try {int keyValue = field.getInt(KeyEvent.class);map.put(targeName, keyValue);} catch (IllegalAccessException e) {continue;}}}return map;}/** 快捷键* */private static void pressTwoMeta(int... keys) {for (int i = 0; i < keys.length; i++) {if (keys[i] == 0) {continue;}robot.keyPress(keys[i]);}for (int i = 0; i < keys.length; i++) {if (keys[i] == 0) {continue;}robot.keyRelease(keys[i]);}robot.delay(50);}/** 进入cmd编辑页面* */private static void pressCMDEdit(){pressTwoMeta(KeyEvent.VK_WINDOWS, KeyEvent.VK_R);pressString(convertStrsToInts("cmd"));}/** 进入ADB编辑页面* */private static void pressADBEdit()  {pressString(convertStrsToInts("adb shell"));}/*下滑* */private static void pressSwipe()  {for (int i = 0; i < 13; i++) {pressString(convertStrsToInts("input swipe 400 1000 400 100 1000 "));pressSometimeView();if (i == 1) {pressString(convertStrsToInts("input tap 400 800"));}}robot.delay(100);pressString(convertStrsToInts("input tap 50 200"));}private static void pressFlassh()  {pressString(convertStrsToInts("input swipe 400 400 400 1000 150"));}/** 点击第一行广告* */private static void pressFirstTap()  {pressString (convertStrsToInts("input tap 400 400"));}
/*处理偶尔出现的彩蛋
* */private static  void pressSometimeView(){
///
}
}

唉,随便写写玩玩,沾点外挂的边!后续努力

java操控手机刷锦鲤看看(一个类似头条的赚钱app)相关推荐

  1. 用python操控手机刷视频,自动刷金币

    需求:最近有好多视频app,号称只要不断看视频,就可以赚钱,所以,但是手动刷刷着刷着就烦了,所以想解放一下双手,用程序来刷吧. 用python操控手机刷视频,自动刷金币 前期准备: 硬件准备 软件准备 ...

  2. java与SPARK的使用的一个类似文章

    https://blog.csdn.net/qq_35688140/article/details/89195016

  3. 用Java做手机备忘录_基于安卓Android的备忘录系统APP的设计(Eclipse)

    基于安卓Android的备忘录系统APP的设计(Eclipse)(任务书,开题报告,论文13000字,程序代码) 摘要 随着移动互联网的高速发展,智能手机的使用已经普及.为了能让智能手机发挥更大的应用 ...

  4. 【和UI斗智斗勇的日子】如何实现一个类似哈罗单车APP主页打车模块的卡片式切的View

    一.明确需求 看到这个标题,相信不少没有见过哈罗单车APP主页的朋友都是懵的,下面我先放下哈罗单车APP的样式: 如上图所示,这个模块主要由标题和内容两部分组成,乍一看好像也没有什么难的,相信不少人马 ...

  5. 多少开发人员 饿了么_开发一款类似饿了么APP,大概需要多少?

    作为一个注重饮食的中国,我们已经达到了对饮食的高度.然而,因为我们有时懒得出门或者有太多的事情要处理,吃饭也将成为用户的一个问题.然而,类似饿了么appP应用(hunger app)的开发是针对当代人 ...

  6. 【新人求助】苹果允许开发者制作类似按键精灵的app吗?

    环境:ios.不越狱 我在网上搜了一下发现了一个app叫触摸精灵,但是貌似需要越狱才能使用,所以想问问大神们,苹果允许开发者制作类似按键精灵的app吗?如果我申请成为开发者,然后做一个类似按键精灵的a ...

  7. 每张脸值5美元,谷歌花钱买数据强化刷脸,还把隔空操控手机变成现实

    乾明 发自 凹非寺  量子位 报道 | 公众号 QbitAI 你的面部数据,值多少钱?谷歌给出了定价:每张脸价值5美元(券). 根据多家外媒报道,谷歌员工正"游荡"在美国街头,有偿 ...

  8. java刷机_java非智能手机能不能通过刷机安装一个安卓智能系统

    过刷机安装一个安卓智能系统 现在安卓系统火的一塌糊涂,除了苹果以外的很多品牌机都在使用安卓的操作系统,当然也包括很多配置比较高的山寨机,这样一来很多使用java非智能手机的用户心里就开始嘀咕 了.山寨 ...

  9. java语言编程三角形图形_编程题:编写程序输入三角形的3条边长,计算并输出... 求助一道JAVA编程题:编写一个类似记事本的图形用......

    导航:网站首页 > 编程题:编写程序输入三角形的3条边长,计算并输出... 求助一道JAVA编程题:编写一个类似记事本的图形用... 编程题:编写程序输入三角形的3条边长,计算并输出... 求助 ...

最新文章

  1. 缩放浏览器不会换行_深入了解现代浏览器之三 - 渲染
  2. webpack-插件机制杂记
  3. pandas的分列操作str.split()
  4. yellow weasel
  5. Python 基础篇-whl文件怎么安装
  6. SAP Marketing和SAP Marketing Cloud的区别
  7. Android之Intent 序列化反序列化
  8. yum时报Error: rpmdb open failed解决方法
  9. 基于matlab的绘图设计,matlab课程设计---利用MATLAB仿真软件进行绘图
  10. PAT:1059. Prime Factors (25) AC
  11. 【数据结构】--章节2.2----线性表的顺序表示和实现
  12. Qt添加qrc文件_添加pri文件_添加预编译头文件
  13. 干货 | 腾讯云智能语音行业落地探索与实践
  14. Mac 配置maven
  15. java 文件名过滤特殊字符
  16. OAS的使用——概述
  17. 开启Fluter基础之旅二-------Future再论、常用组件、Material Design风格组件学习
  18. 不想复制粘贴了,爬取TED视频的语言脚本
  19. 衡水二中2021年高考成绩查询,2020衡水二中高考喜报
  20. MongoDB-curd总结

热门文章

  1. python大数据分析标准库_大数据分析python库
  2. 投行数字化转型方案,达观智能文档处理赋能数字投行
  3. 德威控股在港交所招股书失效:2021年度利润大增,由杨时家族控股
  4. 一直无缝滚动的轮播图模板
  5. 金龙云介绍——城轨云相关
  6. Docker commit 联系
  7. 2022年下半年软件设计师考试上午真题(专业解析+参考答案)
  8. 06-CSS盒模型详解
  9. python一张图-一张图学会python
  10. 微信小程序weui的使用