618来了还愁没钱买东西?五分钟教你如何白嫖!

今年的618比以往活动来的更加早,不少商家都提前了活动,导致剁手党们开始蠢蠢欲动了,每天都守着红包雨,开始猛戳手机屏幕,就算手不累也担心下屏幕吧(不知道有没有买碎屏险,哈哈😅 ),作为一枚程序员,绝对不能允许重复的动作,这不自动化抢红包程序献上给各位剁手党们。🤑

1️⃣ 效果展示

因为考虑到版权和广告的关系没有用某宝抢红包的截图,这里我是自己模拟了一个抢红包的APP,效果如图:
在这里插入图片描述

2️⃣ 准备工作

2.1 安装SDK

工欲善其事必先利其器,首先去官网下载并安装对应系统版本的SDK:https://www.androiddevtools.cn/

头部菜单选择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 次。

然后保证设备驱动状态正常,这一点貌似在 LinuxMac 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 3Home键
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崩溃哦。

在这里插入图片描述

  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 42
    评论
### 回答1: GitHub Copilot是由GitHub和OpenAI共同开发的一款新型编程辅助工具,它使用人工智能技术,能够分析代码,预测程序员的下一步操作,并提供代码片段和建议。然而,很多人认为GitHub Copilot实际上等于是在免费使用OpenAI的GPT-3技术,尤其是在没有向OpenAI支付任何费用的情况下免费使用它的API接口,因此被称为“白嫖”OpenAI技术。 GitHub Copilot的免费使用引发了很多关于知识产权和付费模式的讨论。虽然GitHub Copilot的免费使用可能会吸引更多的开发者,但也可能对OpenAI的商业模式造成竞争压力。除此之外,也有人认为,免费使用GitHub Copilot可能会损害开发者的职业发展,因为缺乏独立解决问题和独立思考的能力,这可能会对他们的工作效率和质量产生负面影响。 总之,无论如何,免费使用GitHub Copilot确实为程序员提供了便利,但是我们也应该认识到其局限性和风险,避免出现不必要的负面影响。GitHub Copilot只能作为编程辅助工具的一种选择,而不是完全依赖的唯一解决方案。进一步地讲,在免费使用GitHub Copilot的同时,我们应该学会独立思考和解决问题的能力,这样才能成为真正的优秀程序员。 ### 回答2: GitHub Copilot是一款由GitHub开发的人工智能代码辅助工具。白嫖是指免费使用并获取了一定的价值。对于GitHub Copilot而言,虽然它确实是一个免费工具,但这并不等同于白嫖。 首先,GitHub Copilot是一个由AI驱动的代码提示和生成工具。它通过分析海量的开源代码库,以及用户自己的代码,为开发者提供智能的代码补全和生成功能。这种功能有助于提高开发效率和减少编码工作量。然而,这一功能的实现离不开技术研发团队的巨大工作量和投资。因此,虽然用户可以免费使用GitHub Copilot,但是背后的研发团队和GitHub自身并不是“白嫖”这个工具。 其次,GitHub Copilot是基于开源模型训练的。GitHub Copilot的AI模型是通过使用GitHub上数亿行的开源代码进行训练而得到的。这意味着GitHub Copilot建立在开源社区的贡献和支持之上。因此,使用GitHub Copilot的用户不仅是在获得智能代码提示,同时也在为开源社区作出贡献,共同推动了开源软件的发展和进步。因此,将GitHub Copilot称为“白嫖”是不准确的。 最后,虽然GitHub Copilot是免费提供给用户使用的,在未来可能会推出付费版本,增加更多高级功能。这种商业模式也是为了支持该工具的持续发展和维护。 综上所述,尽管我们可以免费使用GitHub Copilot,但我们应该意识到这背后的努力和付出,同时也要认识到我们作为用户的价值和贡献。因此,以“白嫖”来形容GitHub Copilot并不准确,我们可以更恰当地说是“免费使用并享受开源社区的贡献”。 ### 回答3: GitHub Copilot是一款基于机器学习的代码自动补全工具,由GitHub和OpenAI共同开发。它可以帮助开发者更快速地编写代码,提供了丰富的代码片段和建议,极大地提高了编码的效率和质量。然而,可惜的是,GitHub Copilot并非完全免费使用。 首先,GitHub Copilot基于机器学习模型的训练需要耗费大量的计算资源和数据。这些资源和数据的获取和维护都需要资金支持,因此GitHub Copilot的研发和维护不可能完全免费。 其次,虽然GitHub Copilot对于个人开发者来说是免费的,但对于商业用途的开发者则需要付费订阅GitHub Copilot Pro服务。这个服务提供了更高级的功能和支持,例如对商业代码的支持、更多语言的支持等。 因此,虽然GitHub Copilot在某些方面可以被看作是一种"白嫖"资源,但它仍然需要付费来获取全面的使用权。GitHub Copilot的付费订阅模式确保了其可持续发展与进一步的研发,同时也体现了开发者和GitHub Copilot团队的对彼此努力的认可和回报。所以,即使有部分功能是免费的,我们还是应该为使用GitHub Copilot的各种便利付出相应的价值。
评论 42
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

优小U

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

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

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

打赏作者

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

抵扣说明:

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

余额充值