模拟器实现模拟钉钉打卡

越有钱的公司越不会在意这些打卡的字面东西,也不会让你天天写个日报啥的。不写还罚钱 迟到还扣钱。
emmm… 当一个公司开始计较这些东西的时候 ,他就开始走下坡路了。废话不多说。开始走起我们程序员的翻盘之路


你如果需要使用的:

  1. 安装上边的手机 软件安装包
  2. 下载 代码 文件
  3. 修改你需要上传的 ftp(非必要,你需要有一个ftp账号) ,或修改 邮件账号 密码(非必要,你需要有一个邮箱以及安装python,不过你可以用 bat 实现发送邮箱)
  4. 一个手机 ,一条数据线 ,连接 电脑 adb
  5. 开启任务管理器 定时开启 continue.bat 和 start.bat

  • 嘿 ,其实不是 100行,得有个 500行吧
  • 长连接
    模拟器实现模拟钉钉打卡_第1张图片
  • 打卡操作
  • 模拟器实现模拟钉钉打卡_第2张图片
    最后 实现是 ftp 上传的截图 ,每天去看一下图片URL就可以了
    我想过 最后能达到的效果就是 能通过 网站查看 自己有没有打卡,并 发送邮件 通知打卡成功。
    你们get 到技能后 如果再做得细一点就是 异步回调 短信通知,等等

首先说一下在网上搜索到的各种实现方式

  1. 无障碍服务 AccessibilityService + ROOT 手机使用 ADB 命令 (适用于 root手机)
  2. 无障碍服务 AccessibilityService 模式 + 7.0手机的无障碍手势 dispatchGesture()(适用于7.0以后的手机)这是我反编译一个成型软件看到的方法,屌屌的
  3. 无障碍服务 AccessibilityService + 电脑 ADB 连接后 发送shell 指令(适用一切手机,缺陷得连电脑,不过电脑开机让他黑屏就好)
  4. 编译Android 源码 拿到 系统签名 使用 Instrumentation 类实现 (太麻烦)
  5. IOS手机修改系统地图就好
  6. 采用向日葵远程连接电脑,电脑Vysor 连接 手机 ,另一台手机 安装向日葵 控制端 手动打卡 (小白也可以做成功,但是 成本两手机 + 电脑,以前我用这个但是 不智能,所以我就写了此脚本 )
  • 第一种方式 网上一大堆 这里不做介绍,小白式编程
  • 第二种方式 新的 API 去看看就好了 谷歌搜索 无障碍手势 dispatchGesture()就能做
  • 第三种方式 ,要做就做支持全款手机的,省的找个root手机 或7.0测试机费劲,所以我用的这个

电脑端需要做的:

  • 把这几个文件 放到一个文件夹中
    • adbshell.bat 是发送shell命令 并判断是否打卡
    • click.bat 是上传打卡结果截图发送到服务器
    • continue.bat 是重复发送adb命令 保持长连接,不然OPPO 这类手机 会10分钟自动关掉开发者模式需要加到任务计划中Dcontinue
    • start.bat 是任务开始,需要加到任务计划中Dstart
    • 模拟器实现模拟钉钉打卡_第3张图片
  • 任务计划程序 实现 定时开启 程序 (怎么添加任务?任务计划程序库上 右键 创建任务)
    模拟器实现模拟钉钉打卡_第4张图片
  • 其实这样完事了

bat脚本代码实现:

  • start.bat
:: 非工作日 才打卡,不是工作日退出就好
:: 路径为你放上边那几个bat文件的路径
cd C:\Users\newone\Desktop\shell 
set day=%date:~-1%
if %day%==六 (
	echo 非工作日
	exit
)
if %day%==七 (
	echo 非工作日
	exit
)
adbshell.bat
exit
  • continue.bat
:: 编码格式 GB2312  
@echo off
echo 重复发送指令 保持 adb连接,一分钟跑一次 (非工作日执行)
set day=%date:~-1%
:a
if %day%==六 (
	echo %day%
	choice /t 5 /d y /n >nul
	exit
)
if %day%==七 (
	echo %day%
	choice /t 5 /d y /n >nul
	exit
)
adb shell dumpsys activity | findstr "mFocusedActivi

你可能感兴趣的:(常用工具,脚本)