【资源】电脑通过Python调用ADB命令控制手机刷dy、ks等等的金币

电脑使用ADB连接手机刷金币

一、环境

  1. 电脑安装有Python环境
  2. 电脑安装有ADB
  3. 安卓手机支持ADB(苹果不了解但原理是一样的)
  4. 手机开启USB调试

二、配置

手机连接设备
CMD查看连接的设备号(例子:WQ***********)

adb devices

在这里插入图片描述
手机打开想要刷的软件并将留在要刷的窗口上
以dy极速版为例
CMD输入:

adb shell dumpsys window | findstr mCurrentFocus

在这里插入图片描述

三、代码

将上面的信息填入到代码里package_nameactivity_nameadbId
要注意手机屏幕大小x1 y1 x2 y2 是手机滑动区间 每款手机屏幕大小不一样不好定值
可以在手机上开启显示触摸操作指针位置进行调整

# 导入模块
import os
import time
import random
import subprocess

# 包名
package_name = ['']
#activity活动窗口名
activity_name = ['']


# 一些变量
i = 0
#设备号
adbId = ""


# 软件菜单
def menu():
    print("1.xxx")
    print("2.xxx")

def ready():
    # 手机静音
    os.system("adb shell input keyevent 164")
    time.sleep(2)
    # 关闭亮度自动调节
    #os.system("adb shell settings put system screen_brightness_mode 0")
    #time.sleep(2)
    # 亮度降到最低
    #os.system("adb shell settings put system screen_brightness 4")
    #time.sleep(2)


# 判断adb的连接状态
def prepare(device_id):
    """
        out执行结果 成功返回0
        info 执行输出结果
        :param device_id: 设备id
        :return:
    """
    out, info = subprocess.getstatusoutput("adb -s " + device_id + " get-state")
    # print(out, info)
    if out == 0:
        if 'device' in info:
            print("[INFO] ADB is on")
            return True
        elif 'offline' in info:
            print("[WARNING] ADB device is dumb")
            input("输入回车重试")
            prepare(adbId)
        else:
            print("[WARNING] ADB is abnormal: " + info)
            input("输入回车重试")
            prepare(adbId)
    else:
        print("[WARNING] ADB is bad: " + info)
        input("输入回车重试")
        prepare(adbId)


# 主程序
def shua(package, activity, i):
    os.system('adb shell am start -n %s/%s' % (package, activity))
    # 等待5秒,防止网络延迟
    print("等待10秒,启动软件")
    time.sleep(10)
    # 每个软件刷100下
    for i in range(101):
        a = random.randint(15, 20)
        x1 = random.randint(200, 220)
        y1 = random.randint(840, 860)
        x2 = random.randint(230, 250)
        y2 = random.randint(230, 370)
        os.system("adb shell input touchscreen swipe " + str(x1) + " " + str(y1) + " " + str(x2) + " " + str(
            y2))  # 滑到下个视频
        print("正在刷第" + str(i) + "个视频,等待" + str(a) + "秒")
        time.sleep(a)  # 等待a秒
    # 关闭当前应用
    os.popen("adb shell am force-stop " + package)
    print("=================刷完=======================")


# 启动项
if __name__ == '__main__':
    r = prepare(adbId)
    if r:
        menu()
        ready()
        i = int(input("请输入开始数字"))
        while 1:
            for i in range(i - 1, len(package_name)):
                print(i+1) 
                shua(package_name[i], activity_name[i], i)
            if i == len(package_name) - 1:
                i = 1
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值