效果1:

效果2:

此次开发的工具都用纯原生代码进行Android的应用开发的,其实原理都是用了无障碍功能(AccessibilityService)进行处理。上个版本的工具太麻烦了,还需要进行相应的参数接口破解,获取到相应的值再对H5进行处理,总之叽里呱啦的一连串麻烦,也容易被封号,此次的工具只是作为一个辅助性的,完全不需要对目标应用进行啥破解之类,直接说就是仿真人操作,进行一系列仿真操作。

以下是主要开发流程:

1.使用AccessibilityService最开始的配置

<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"android:accessibilityEventTypes="typeAllMask"android:accessibilityFeedbackType="feedbackGeneric"android:accessibilityFlags=""android:canRetrieveWindowContent="true"android:description="@string/app_name"android:canPerformGestures="true"android:notificationTimeout="100" />

上面是使用配置文件的方式的,不过我比较喜欢用代码的方式进行配置,反正两个都可以一起使用啦,只不过是在代码的时候重新获取一下之前配置文件的东西在进行配置而已,反正看你喜欢。代码配置的话在 onServiceConnected 这个方面里面进行处理就行了

        //可用代码配置当前Service的信息AccessibilityServiceInfo info = getServiceInfo();//监听过滤的包名//info.packageNames = new String[]{PackageName.SYSTEMUI.getPackageName()};//监听响应事件info.eventTypes = AccessibilityEvent.TYPES_ALL_MASK;info.feedbackType = AccessibilityServiceInfo.FEEDBACK_ALL_MASK;//通知的时间info.notificationTimeout = 100;//设置标志位,读取webView内容info.flags = AccessibilityServiceInfo.DEFAULT| AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS| AccessibilityServiceInfo.FLAG_RETRIEVE_INTERACTIVE_WINDOWS| AccessibilityServiceInfo.FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY| AccessibilityServiceInfo.FLAG_REPORT_VIEW_IDS;setServiceInfo(info);

目前我这里是不做包名的过滤的,如果不配置包名的话,就是全部的应用都会进来的,我这里就是要全部的应用都进来,然后在里层自己做一个目标包的拦截过滤。我这个方法

DataListHelper.isExistPackageName(packageName)

就是过滤我支持的目标的,反正自己意会

2.任何动作的操作都是靠心跳来进行,心跳带动随机时间进行页面的滑动处理,比如说1秒一个心跳, 事先准备一个事件的随机时间,当心跳跳动次数达到随机时间就进行一个事件动作。 随机时间那个,反正就是根据给定一个范围值,至于这个范围值,自己根据相应的动作去估算吧。动作处理时间反正不要每次都相等,一定要随机时间,这个很重要

心跳那个,我用了RxJava的,每秒都执行一个回调

   /*** 执行心跳** @param handler* @return*/public static Disposable executeHeartBeat(final Handler handler) {return Flowable.interval(1, TimeUnit.SECONDS).doOnNext(new Consumer<Long>() {@Overridepublic void accept(Long aLong) throws Exception {handler.sendEmptyMessage(1);}}).subscribe();

3.自动切换目标应用这个,也是利用了定时器,半小时自动切换目标,不过有些安全限制的问题,我在小米上面测试的,一定要手动打开过目标应用一次才行,因为打开第三方应用的时候需要权限。反正我现在做的是在本应用里面打开第三方这种方式的

打开目标应用:

 /*** 打开应用** @param context     活动对应上下文对象* @param packagename 需要打开的应用包名*/public static void openApp(Context context, String packagename) {PackageInfo packageinfo = null;try {packageinfo = context.getPackageManager().getPackageInfo(packagename, 0);} catch (PackageManager.NameNotFoundException e) {e.printStackTrace();}if (packageinfo == null) {return;}// 创建一个类别为CATEGORY_LAUNCHER的该包名的IntentIntent resolveIntent = new Intent(Intent.ACTION_MAIN, null);resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);resolveIntent.setPackage(packageinfo.packageName);// 通过getPackageManager()的queryIntentActivities方法遍历List<ResolveInfo> resolveinfoList = context.getPackageManager().queryIntentActivities(resolveIntent, 0);ResolveInfo resolveinfo = resolveinfoList.iterator().next();if (resolveinfo != null) {String packageName = resolveinfo.activityInfo.packageName;String className = resolveinfo.activityInfo.name;// LAUNCHER IntentIntent intent = new Intent(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_LAUNCHER);ComponentName cn = new ComponentName(packageName, className);intent.setComponent(cn);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(intent);}}

目前已经写好了三个目标应用(快手极速版、刷宝短视频、抖音极速版)的辅助工具

快手极速版:只支持视频的自动切换和点赞,不做自动签到及其他

刷宝短视频:只支持视频的自动切换和点赞,不做自动签到及其他

抖音极速版:只支持视频的自动切换和点赞,不做自动签到及其他

以上都是只处理视频的自动滑动,直接说就是半自动半手动吧

Android自动操作辅助工具思路分享相关推荐

  1. Chrome的在线自动字幕辅助工具

    如何下载Chrome的自动字幕 Chrome的在线自动字幕辅助工具 思路 主程序 截屏 解析文字 导出 结语 Chrome的在线自动字幕辅助工具 最近一直在使用Chrome上在线课程,在线字幕给了笔者 ...

  2. Android 自动点击工具,自动点击器app下载-自动点击工具 安卓版v1.0.2-PC6安卓网

    自动点击工具app是一款非常不错的系统工具类手机软件,有了自动点击工具app,你将从此释放双手进行抢购,还在等什么?下载自动点击工具app试试吧! 软件介绍 自动点击工具是一款记录手势和点击操作轨迹的 ...

  3. AI自动写作辅助工具网站推荐,轻松提升写作效率

    给大家推荐几个AI自动写作的素材网站,可以帮助我们适当提升写作效率,也可以用来当作写作的参考,多利用工具并不就是偷懒. 1.Get写作‍ 地址传送:https://getgetai.com/ Get写 ...

  4. 转 Android自动测试之monkeyrunner工具(二)

    monkeyrunner工具  前言: 最近开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括android测试框架.CTS.Monkey.Monkeyru ...

  5. 石油大学网考 在线作业、在线考试 自动答题辅助工具

    目录 启发 迭代 整合流程,实现全程自动化 效果展示 操作流程 详细教程,保姆级别 干货分享 启发 石大 在线作业.在线考试 支持作答后查看答题卡,且无上限重做以最高分为准.既然能查看答题卡,那么肯定 ...

  6. Android自动测试之Monkey工具2

    2019独角兽企业重金招聘Python工程师标准>>> Monkey测试简介   shell, monkey, system, Android, 文件系统Monkey, 示例, 简介 ...

  7. android自动烧写工具,利用fastboot烧写Android平板镜像典型步骤举例

    1.准备fastboot烧写工具 在windows下下载fastboot软件,并将如下文件: bootloader.fex, env.fex,boot.img,recovery.img ,userda ...

  8. ceph命令行操作辅助工具s3cmd

    1:安装和配置s3cmd #yum install s3cmd -y 2:配置s3cmd进行S3接口测试,初始化 s3cmd本地环境  将之前radosgw-admin创建的user的access_k ...

  9. android脚本实现自动捉妖,一起来捉妖自动行走辅助怎么用 自动行走辅助详解[多图]...

    一起来捉妖中行走是非常重要的,很多地方都需要玩家们多行走才能玩,接下来安族小编带大家来看一下自动行走辅助详解. 一起来捉妖自动行走辅助工具 1.下载一起来捉妖辅助"飞机助手"APP ...

最新文章

  1. Java面试参考指南(二)
  2. 管理自动化:企业上云必由之路
  3. 调用AutoCAD的内置对话框
  4. 【android】进程优先级(Framework设置优先级,LowMemoryKiller查杀)
  5. c++ map 析构函数_C++|类继承关系中的虚函数、虚析构函数、虚基类
  6. Oracle之PLSQL总结
  7. Spark streaming细粒度工作原理
  8. 收藏 | 聊聊 GPU 的计算能力上限
  9. 湖北孝感学校计算机好吗,湖北省孝感市2018年上半年计算机等级考试注意事项...
  10. 精选CSDN的ACM-ICPC专栏
  11. WEBBASE篇: 第六篇, CSS知识4
  12. 工作流 节点子线程_节点JS体系结构–单线程事件循环
  13. 还真碰到不会cd命令的同事
  14. 软件实施工程师是一个什么样的工作?他的具体工作内容是什么?发展前景怎样?...
  15. CAS单点登录【1】-理论(cas架构、https、SSL、TLS、非对称加密、证书、CA、握手)、OpenSSL、cas(认证、指定加密策略)
  16. Internet连接共享只能上qq不能打开网页的问题解决
  17. 针对Google注册不能收到手机验证码的解决方案
  18. 祝福大家劳动节节日快乐
  19. 学3d游戏建模要用到什么软件
  20. 面试宝典(一)之程序员必备面试软技能

热门文章

  1. JS验证字符串的长度(区分中英文)
  2. 超大规模视觉通用感知模型
  3. 辛星Java动态规划算法教程汇总【刷题用】
  4. 手机不能访问局域网服务器的解决办法
  5. wine 安装与使用(ubuntu中安装windows下软件)
  6. Adobe发布Flash/HTML5转换工具:袋鼠
  7. git下载龟速解决办法
  8. linux pipenv运行,科学网—pipenv安装及使用 - 陈超的博文
  9. QT中AES的初步测试使用
  10. 数据仓库 — 05_日志生成(日志生成jar包的部署、脚本的编写_启动_时间同步_进程查看)