admin 管理员组文章数量: 887006
文章目录
- 1️⃣ 效果展示
- 2️⃣ 准备工作
- 2.1 安装SDK
- 2.2 使用ADB操作手机
- 3️⃣ 抢红包实现
- 3.1 NodeJS版
- 3.2 Python版
- 3.3 Java版
- 4️⃣ 总结
今年的618比以往活动来的更加早,不少商家都提前了活动,导致剁手党们开始蠢蠢欲动了,每天都守着红包雨,开始猛戳手机屏幕,就算手不累也担心下屏幕吧(不知道有没有买碎屏险,哈哈😅 ),作为一枚程序员,绝对不能允许重复的动作,这不自动化抢红包程序献上给各位剁手党们。🤑
1️⃣ 效果展示
因为考虑到版权和广告的关系没有用某宝抢红包的截图,这里我是自己模拟了一个抢红包的APP,效果如图:
2️⃣ 准备工作
2.1 安装SDK
工欲善其事必先利其器,首先去官网下载并安装对应系统版本的SDK:https://www.androiddevtools/
头部菜单选择Android SDK 工具 > SDK Tools,选择windows版本下载:
下载完成后解压到一个目录 D:\android-sdk-windows\platform-tools
:
双击运行SDK Manager.exe
并下载和更新一些插件和工具:(过程有点慢,可以选择自己需要的安卓版本,然后耐心等待😴)
配置环境变量,将刚才解压的目录 D:\android-sdk-windows\platform-tools
添加到环境变量:
打开 cmd
命令行,输入 adb
查看是否安装成功:
PS:别忘了安装Java哦😜
2.2 使用ADB操作手机
连接方式1:USB连接
首先保证硬件状态正常,包括 Android 设备处于正常开机状态,USB
连接线和各种接口完好,Android 设备的开发者选项和 USB
调试模式已开启。可以到「设置」-「开发者选项」-「Android 调试」查看。如果在设置里找不到开发者选项,那需要通过一个彩蛋来让它显示出来:在「设置」-「关于手机」连续点击「版本号」7 次。
然后保证设备驱动状态正常,这一点貌似在 Linux
和 Mac OS X
下不用操心,在 Windows
下有可能遇到需要安装驱动的情况,确认这一点可以右键「计算机」-「属性」,到「设备管理器」里查看相关设备上是否有黄色感叹号或问号,如果没有就说明驱动状态已经好了。否则可以下载一个手机助手类程序来安装驱动先。
通过 USB
线连接好电脑和设备后确认状态,在cmd
命令行输入adb devices
可以查看当前连接的设备:
🔔 PS:请确保打开了开发人员选项和USB调试,否则是看不到设备的,连接方式要传输文件方式。
连接方式2:无线连接(需要借助 USB 线)
除了可以通过 USB 连接设备与电脑来使用 adb,也可以通过无线连接——虽然连接过程中也有需要使用 USB 的步骤,但是连接成功之后你的设备就可以在一定范围内摆脱 USB 连接线的限制啦!
操作步骤:
- 将 Android 设备与要运行
adb
的电脑连接到同一个局域网
,比如连到同一个 WiFi - 将设备与电脑通过 USB 线连接
- 应确保连接成功(可运行 adb devices 看是否能列出该设备)
- 让设备在 5555 端口监听 TCP/IP 连接:
adb tcpip 5555
- 然后断开USB,使用
adb connect 192.168.xx.xx
来远程连接手机
连接成功后就可以操作手机了,先来获取下屏幕的分辨率,后面会有用到:
adb命令有很多,这里列举出一些常见的命令:
命令 | 作用 |
---|---|
adb shell pm list packages | 查看所有应用 |
adb install [-lrtsdg] <path_to_apk> | 安装apk |
adb pull <设备里的文件路径> [电脑上的目录] | 复制设备里的文件到电脑 |
adb push <电脑上的文件路径> <设备里的目录> | 复制电脑里的文件到设备 |
adb shell input keyevent 26 | 电源键 |
adb shell input keyevent 82 | 菜单键 |
adb shell input keyevent 3 | Home键 |
adb shell input keyevent 4 | 返回键 |
adb shell input keyevent 224 | 点亮屏幕 |
adb shell input keyevent 223 | 熄灭屏幕 |
adb shell input swipe 300 1000 300 500 | 滑动解锁 |
adb shell input tap 50 250 | 点击 |
adb shell input text hello | 输入文本 |
有关ADB教程,点击进入专栏:Awesome Adb
3️⃣ 抢红包实现
最简单的抢红包形式就是一直在屏幕上点击【抢】,相同时间,点击次数最多,获得的红包就最大,而频繁点击的过程我们可以用 adb
来模拟点击。先截图手机屏幕,然后放到PC查看需要点击的位置的坐标是多少,然后再使用adb
命令触发点击操作。
假如需要点击微信图标,先找到此处的像素坐标(669,1590),然后再执行以下命令则可以马上打开微信😏:
$ adb shell input tap 669 1590
基本操作就是这样啦,但是总不能在cmd
命令行里面手动执行N
次吧,还是要借助高级语言来实现多次点击,继续往下看🤖
3.1 NodeJS版
// auto.js
const process = require('child_process')
const touch = function(){
process.exec('adb shell input tap 669 1590',function(error, stdout, stderr){
if (error !== null) {
console.log('exec error: ' + error)
}else{
console.log('exec success')
}
})
}
// 执行次数
let times = 10
while(times > 0){
touch()
times--
}
执行node auto.js
会重复执行adb
命令,执行结果:
$ node auto.js
exec success
exec success
exec success
exec success
exec success
exec success
exec success
exec success
exec success
exec success
3.2 Python版
Python
实现与NodeJS
类似:
import os
os.system('adb shell input tap 669 1590')
3.3 Java版
Java
版本因为支持多线程
,这里就使用多线程
来执行adb
命令,这样能防止手机卡死或应用崩溃:
// CmdUtils.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class CmdUtils {
List<String> resultList = new ArrayList<String>();
public List<String> excuteCmd(String command){
String line = null;
StringBuilder sb = new StringBuilder();
Runtime runtime = Runtime.getRuntime();
try {
Process process = runtime.exec(command);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
while ((line = bufferedReader.readLine()) != null) {
resultList.add(line);
}
} catch (IOException e) {
e.printStackTrace();
}
return resultList;
}
}
创建100个线程来执行:
// Main.java
public class Main {
public static void main(String[] args) {
// 10个线程执行点击,模拟的点击线程不要超过100,否则对手机会造成损害
for(int i=0;i<100;i++){
new MyThread().start();
}
}
}
// 模拟点击线程
class MyThread extends Thread {
CmdUtils cmdUtils = new CmdUtils();
@Override
public void run() {
super.run();
cmdUtils.excuteCmd("adb shell input tap 504 588");
}
}
4️⃣ 总结
红包虽小,但是抢红包的过程才能显出节日氛围,最重要的是它给了你买买买
的勇气,赶紧分享给老婆👩❤️👨,女朋友👭,闺蜜👧,同学👩,同事🧑吧,她们的👗 👘 🩱 🩲 🩳 👙 👚 👞 👟 🥾 🥿 👠 👡 🩰 👢 👜 👠👒💄 💍 👙 🌂 还有 🍎 🍋 🍌 🍉 🍍 🍒 🍭已经等不及了,赶紧安排,哈哈哈🤑
欢迎点赞评论转发😘~
🔔 PS:注意执行时间间隔不能太小,否则容易导致APP崩溃哦。
版权声明:本文标题:618来了还愁没钱买东西?五分钟教你如何白嫖! 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1729031678h1309218.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论