Android 模拟双击点赞脚本

以下代码通过GPT3.5生成

#!/bin/bash

# 点击次数范围
CLICK_COUNT_MIN=20
CLICK_COUNT_MAX=30

# 每次点击间隔范围
CLICK_INTERVAL_MIN=3000
CLICK_INTERVAL_MAX=5000

# 暂停时间范围
PAUSE_INTERVAL_MIN=10000
PAUSE_INTERVAL_MAX=20000

# 总运行时间
RUN_TIME=3600

# 获取屏幕分辨率
SCREEN_WIDTH=$(adb shell wm size | awk -F' ' '{print $3}' | awk -F'x' '{print $1}')
SCREEN_HEIGHT=$(adb shell wm size | awk -F' ' '{print $3}' | awk -F'x' '{print $2}')

# 计算每次点击间隔时间
get_click_interval() {
  local count=$1
  echo $((60 * 1000 / count))
}

# 生成随机数
get_random_int() {
  local min=$1
  local max=$2

  echo $(expr $min + $RANDOM % $(expr $max - $min + 1))
}

# 模拟屏幕点击
simulate_click() {
  local x=$(get_random_int 0 $[$SCREEN_WIDTH-200])
  local y=$(get_random_int 600 $[$SCREEN_HEIGHT-800])
  echo $x
  echo $y
  # 这里是核心,通过连续多次tap来模拟双击,否则不会被识别为双击
  adb shell "seq 2 | while read i;do input tap $x $y & input tap $x $y  & sleep 0.02;done" 
  
}

# 主循环
main_loop() {
  local start_time=$(date +%s)
  while true; do
    # 计算随机点击次数
    local click_count=$(get_random_int $CLICK_COUNT_MIN $CLICK_COUNT_MAX)
    local click_interval=$(get_click_interval $click_count)

    # 模拟点击
    for ((i = 0; i < $click_count; i++)); do
      simulate_click
      sleep $(expr $click_interval / 1000)
    done

    # 随机暂停
    local pause_interval=$(get_random_int $PAUSE_INTERVAL_MIN $PAUSE_INTERVAL_MAX)
    sleep $(expr $pause_interval / 1000)

    # 判断是否超时
    local now=$(date +%s)
    local elapsed_time=$(expr $now - $start_time)
    if [ $elapsed_time -ge $RUN_TIME ]; then
      break
    fi

    # 每3分钟输出一次状态
    if [ $(expr $elapsed_time % 180) -eq 0 ]; then
      echo "Elapsed time: $(expr $elapsed_time / 60) min"
    fi
  done
}

# 开始运行
main_loop


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值