当前位置: 首页 > news >正文

Android 100+行实现本地跳一跳辅助(不需要连接电脑)

看到GitHub上已经很多微信跳一跳的辅助了,但是都需要依赖PC端,昨天想着能不能只利用安卓本地来写一款辅助,先来看效果:



实现思路

  • 透明悬浮窗
  • 手指滑动通过onTouch获取滑动的间距
  • 按比例计算出需要长按的时间
  • 使用shell命令模拟长按(需要ROOT权限)

主要代码

@Override
public boolean onTouch(View v, MotionEvent event) {
    switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN: //按下
            Log.d(TAG, "开始位置: " + event.getRawX() + " " + event.getRawY());
            mStartX = event.getRawX();
            mStartY = event.getRawY();
            break;
        case MotionEvent.ACTION_UP: //松开
            Log.d(TAG, "结束位置: " + event.getRawX() + " " + event.getRawY());
            float endX = event.getRawX();
            float endY = event.getRawY();
            //三角形边长1
            float length1 = Math.abs(endX - mStartX);
            //三角形边长2
            float length2 = Math.abs(endY - mStartY);
            //通过勾股定理计算间距
            int distance = 
                    (int) Math.sqrt(Math.pow(length1, 2) + Math.pow(length2, 2));
            Log.d(TAG, "距离: " + distance);
            int temp = (int) (distance * 1.44); //这里需要多尝试几次 找到最佳时间
            exec("input swipe 600 1800 600 1800 " + (temp) + "\n");
            break;
    }
    return true;
}复制代码


项目

  • 项目源代码: github.com/lvkaixuan/J…
  • 项目Demo: fir.im/wechatjump&…(下载量满的话可以扫下面二维码)
  • 如果项目对你有帮助,希望能动动你可爱的小手star一下
  • 扫码下载Demo试玩
   

感谢

  • 这里感谢GitHub上的悬浮窗框架: github.com/yhaolpz/Flo…




相关文章:

  • MyBatis DAO层传递参数到mapping.xml
  • 微内核与面向组件
  • 运维学python之爬虫中级篇(二)线程、协程
  • 资料推荐--Google Java编码规范
  • Python中的string模块的学习
  • bzoj千题计划205:bzoj3529: [Sdoi2014]数表
  • 关于多线程的参数问题
  • sudo、磁盘结构、echo,awk,python计算、RAID0和1的区别
  • jsp页面按时间排序
  • 18载艰苦创业,曾动念房地产转型,讯飞的江湖夜雨和桃李春风
  • UML--------------------类图
  • 如何使用MACS进行peak calling
  • 使用mysqladmin命令修改MySQL密码与忘记密码
  • text-decoration与color属性
  • reactive streams与观察者模式
  • (三)从jvm层面了解线程的启动和停止
  • Angular 4.x 动态创建组件
  • Apache的基本使用
  • CentOS7 安装JDK
  • eclipse的离线汉化
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • Git 使用集
  • JAVA_NIO系列——Channel和Buffer详解
  • JavaScript实现分页效果
  • Java教程_软件开发基础
  • js继承的实现方法
  • k8s 面向应用开发者的基础命令
  • nodejs调试方法
  • nodejs实现webservice问题总结
  • Python 反序列化安全问题(二)
  • python_bomb----数据类型总结
  • Python学习笔记 字符串拼接
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • vue--为什么data属性必须是一个函数
  • XML已死 ?
  • 阿里云购买磁盘后挂载
  • 初识 beanstalkd
  • 大数据与云计算学习:数据分析(二)
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 两列自适应布局方案整理
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 少走弯路,给Java 1~5 年程序员的建议
  • 使用 @font-face
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 学习使用ExpressJS 4.0中的新Router
  • 源码安装memcached和php memcache扩展
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • ​如何防止网络攻击?
  • ${ }的特别功能
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (8)STL算法之替换
  • (MATLAB)第五章-矩阵运算