Demo地址:https://github.com/qyxxjd/ClearProcesses
在AccessibilityService中我们可以做模拟操作,下面记述下通过AccessibilityService实现微信发红包的功能
依然来首经典的歌曲,或许歌声里有你的一段往事,也许你会心痛,毕竟你入心了。好,伴随歌声继续鸡汤。
辅助功能(AccessibilityService)是一个Android系统提供的一种服务,继承自Service类。AccessibilityService运行在后台,能够监听系统发出的一些事件(AccessibilityEvent),这些事件主要是UI界面一系列的状态变化,比如按钮点击、输入框内容变化、焦点变化等等,查找当前窗口的元素并能够模拟点击等事件。官方文档
工作中我们需要自制一套工具,其中遇到需要模拟点击事件的需求,类似按键精灵的功能,支持后台持续运行,满足触发条件时完成点击。
在之前的一篇文章《移动端UI自动化过程中的难点及应对策略》中,我们提到在Android自动化测试执行过程中经常会遇到一些非预期的系统弹框,我们可以通过无障碍服务来实现智能点击处理,但是通常这个服务只能手动到设置中开启,今天就跟大家分享一下如何实现一个自定义的无障碍服务以及如何自动化的开启它。
聊到 App 端的自动化,大家能想到的可能是 Appium、UIAutomator2、Airtest 等一系列自动化框架。
screenshot 源码:https://github.com/iOSDevLog/Jump 现在跳得准了。 测试:https://github.com/iOSDevLog/Jump/release
在上上周的周六和周日,我发了两篇利用itchat实现微信机器人的文章(Python):
前篇文章yy了一下自动化测试工具Cypress的另类玩法,引入了一个知识点,订票机器人(ps,这个本身不是什么值得炫耀的东西,实际上也没有什么太大技术难度),今天就索性在加点料,即我们要聊的是,在原生的Android上实现一个订票机器人的话,该怎么操作?
本文主要介绍了如何通过AccessibilityService在Android上实现类似iOS的辅助功能,包括屏幕阅读器、放大镜、文本提取、快速拨号、屏幕录制、悬浮窗口、手势识别等功能。同时,还介绍了如何自定义AccessibilityService提供个性化的辅助功能,并分享了部分实现代码和示例。
本文旨在介绍AccessibilityService如果更优雅的使用,以及使用过程遇到的问题,该怎么解决。
辅助功能(AccessibilityService)其实是一个Android系统提供给的一种服务,本身是继承Service类的。这个服务提供了增强的用户界面,旨在帮助残障人士或者可能暂时无法与设备充分交互的人们。
最近看到同事有用抢红包的软件,就想看看抢红包的具体实现是如何的,所以了解了一下,有用辅助功能实现的,所以在下面的示例中会展示一个抢红包的小Demo,附带源码抢红包源码。
最近在公司时接到一个需求:需要实时监听设备的通知栏消息,并可以捕获到通知的内容,然后进行对应的操作。刚看到这个需求的时候,脑子里第一反应就是使用 AccessibilityService 。 AccessibilityService 支持的事件监听类型中有 TYPE_NOTIFICATION_STATE_CHANGED ,该事件类型就是用来监听通知栏消息状态改变的,众多的抢红包插件利用的就是这个原理。
对AccessibilityService的学习已经有一个多月了,发现其使用方法其实也都蛮简单的,只是在不同项目中试错比较复杂。
简单实现了微信自动抢红包的服务,原理就是根据关键字找到相应的View, 然后自动点击。主要是用到AccessibilityService这个辅助服务,基本可以满足自动抢红包的功能,但是有些逻辑需要优化,比如,拆完一个红包后,必须手动点击返回键,才能进行下一次自动抢红包。
最近一位小姐姐在微信上向我抱怨,说自己每天坐地铁上下班,路上会阅读一些好的文章来提升自己。
前两天公司开始宣布要使用阿里钉钉来签到啦!!!~~这就意味着,我必须老老实实每天按时签到上班下班了,这真是一个悲伤的消息,可是!!!!那么机智(lan)的我,怎么可能就这么屈服!!!阿里钉钉签到,说到底不就是手机软件签到吗?我就是干移动开发的,做一个小应用每天自动签到不就行了:)
前言 任何技术都是一把双刃剑,用的好与好不,都在于使用它的人,一念天堂,一念地狱。 AccessibilityService根据官方的介绍,是指开发者通过增加类似contentDescription的属性,从而在不修改代码的情况下,让残障人士能够获得使用体验的优化,大家可以打开AccessibilityService来试一下,点击区域,可以有语音或者触摸的提示,帮助残障人士使用App。 当然,现在AccessibilityService已经基本偏离了它设计的初衷,至少在国内是这样,越来越多的
UiAutomator是Android 4.1以上提供的一个UI自动化测试工具,4.3升级到了UiAutomator2.0,实现方式也从UiTestAutomationBridge变成了UiAutomation。
第一节 缘由与准备 最近有时间空闲,闲来无事,想到使用钉钉打卡有时会迟到,所以周末的时候去看了相关网上资料,做了个demo。 材料:定时器,AccessibilityService 加工方案:使用定时器在签到签退期间内自启,通过AccessibilityService模拟点击:分为签到与签退两种情况。 签到正常流程:工作-》考勤打卡-》(判断是否弹出窗口-是:我知道了否跳过)-》签到。 签到迟到流程:工作-》考勤打卡-》迟到打卡。 签退正常流程:工作-》考勤打卡-》签退。 工艺难点:签到页中嵌套的是基于W
最近,Android手机上的手机管家更新了新版本,提供了红包闹钟功能,只要有微信红包或者QQ红包,就会自动提醒。恰逢最近又在做UI自动化的工作,使用到UI Automator框架。几行代码,就可以让手机自动完成某些操作,很有意思,今天就来扒一扒这背后的原理。
AccessibilityService的设计初衷是为了辅助有身体缺陷的群体使用Android应用,它的设计贯穿着Android的控件树View, ViewGroup, ViewRootImpl体系。借助于system_server进程的中转,能够注册Accessibility事件的客户端可以具备通过system_server提供的Accessibility服务来实现监听、操作其它应用视图的功能。这个功能十分强大,可以模拟用户的行为去操作其它APP,常常被用在自动化测试、微信抢红包、自动回复等功能实现中。
本文档基于谷歌Android 11 Developer Preview 4(DP4)版本的变更输出
Android 间谍软件是最常见的恶意软件之一,攻击者通过 Android 间谍软件来跟踪用户位置、检查 Web 浏览记录,甚至窃取敏感信息(密码和信用卡号等),其对银行机构与客户构成的威胁与 Android 银行木马相媲美。间谍软件还可以利用合法 API 与权限来记录电话呼叫记录、远程管理设备、拦截短信或执行其他任务。
之前有很多朋友都问过我,在Android系统中怎样才能实现静默安装呢?所谓的静默安装,就是不用弹出系统的安装界面,在不影响用户任何操作的情况下不知不觉地将程序装好。虽说这种方式看上去不打搅用户,但是却存在着一个问题,因为Android系统会在安装界面当中把程序所声明的权限展示给用户看,用户来评估一下这些权限然后决定是否要安装该程序,但如果使用了静默安装的方式,也就没有地方让用户看权限了,相当于用户被动接受了这些权限。在Android官方看来,这显示是一种非常危险的行为,因此静默安装这一行为系统是不会开放给开
我们在 Android 12 中进行了一些变更,来提升应用和平台的安全性,进而使我们的用户能够拥有更安全的使用体验。回顾关于隐私和安全的文章,请参阅: 政策更新 | 开发者如何处理软件包可见性。
本文档基于谷歌Android 11 Developer Preview 4(DP4)版本的变更输出,后续Beta版如有新的变更和特性,我们会刷新文档的相关章节内容,请开发者持续关注。
第一章Accessibility简介 近期,360烽火实验室发现一款滥用Accessibility的木马,该木马具有浏览器地址栏劫持、搜索劫持、桌面点击劫持以及防卸载等系列恶意行为,本报告将结合我们对该木马的分析,从Accessbility的设计初衷、技术发展、滥用情况等角度研究Accessibility的安全性。 一、 设计意义 依据Android官方文档,考虑到一些用户不能很好地使用Android设备,比如由于视力、身体、年龄方面的限制,造成阅读内容、触控操作、声音信息等方面的获取困难,因此Androi
在使用 AccessibilityService 遍历包含 WebView 的 AccessibilityNodeInfo 时会在某些情况下必现 StackOverflowError 的错误,导致应用崩溃。
第一个应用是 Android 的取最顶部 Activity。 源码:https://github.com/iOSDevLog/1day1app 001.TopActivity.png 分析一下需求。
由于智能机操作的复杂性,很多老年人的手机使用一段时间之后,不知不觉间,下载了一大堆垃圾软件,内存占用越来越大,机器越用越卡。
既然我要捕获点击事件,首先就想到的是通过事件分发机制,也就是在源头就去获取所有的触摸事件,然后对点击事件进行统计,干吧~
这段时间把一个App工程从原来的ADT环境(即Eclipse)迁移到Android Studio环境,发现并处理了一系列迁移问题,兹记录如下。把ADT工程迁移到AS,通常的做法是打开Android Studio,依次选择菜单“File”——“New”——“Import Module”,然后点击窗口右边的浏览按钮选择ADT工程的路径,点击“Finish”按钮,等待Android Studio识别并导入ADT工程。一般导入成功的话,接下来便能按照正常操作步骤来编译和运行了;可是老大难的旧工程往往会产生这样那样的错误,需要逐一进行格式转换或者配置调整工作。
利用AccessibilityService机制实现了一个比较好玩儿的功能,微信朋友圈自动遍历点赞。即通过不断的滚动+点赞实现把每一条朋友圈都赞一次。
因为特殊要求,我在framework层下添加了一个aidl文件IBluetoothShp.aidl文件,但是在编译时却说程序包不存在,错误如下
出现了异常Dex Loader:Unable to execute dex: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl; 查了好多方法都不行,最后得到了解决方法: 1.删除 项目中libs下引入的jar包,并删除android dependence下的相应的jar包 2.右击android项目,build path->configure build path… 3.在libraries下选择add external jars ,找到要引入的jar包,OK 这样就成功的引入了外界包!
如果你经常需要 发朋友圈,无论是哪里复制的文案,直接粘贴后到输入框发送出去,肯定会被官方 折叠 处理,因此,应用市场上出现了很多防折叠输入法 App。
8月16日,谷歌宣布Android13新系统的源代码已经上传到Android开源项目(AOSP)中,Android13正式发布。自从2022年2月Android13第一个预览版上线以来,历经7个月的测试和优化,正式版本的Android13终于来了!Android13仍然聚焦个人隐私保护和安全,并提供了万物互联时代下大小屏适配、电池利用率优化等相关的技术开发能力。
Layout Inspector(布局检查器) 大家应该都不陌生,我们可以通过它来检查布局层级。最近 Google 团队在 Medium 上发布了 Android Studio 4.0 上关于 Layout Inspector 的更新情况,原文地址如下:
Tombstone 报错信息日志文件被保存在了 /data/tombstones/ 目录下 , 先 ROOT 再说 , 没有 ROOT 权限无法访问该目录中的信息 ;
微信是世界上体量最大的超级 APP 之一,拥有数以十亿计的用户,每天都有许许多多的人在微信上进行聊天、沟通、推广、卖货……覆盖了社交辐射的方方面面。
UiAutomator是由谷歌在Android4.1版本发布时推出的一款用Java编写的UI自动化测试框架。 基于Accessibility服务,该工具提供了对外开放的的api,可以使用这些api对安卓应用进行一系列的自动化测试操作。例如:打开app、点击、滑动、键盘输入、长按以及常用的断言等一系列模拟ui操作。
本文提出了一种通过辅助功能自动开启App相关权限的方法,该方法通过解析库文件实现权限的自动开启。主要步骤包括:1、解析库文件,获取权限开启列表;2、根据用户输入的参数和已开启的权限,生成待开启权限列表;3、根据待开启权限列表,开启相应的权限。该方法能够减少用户开启权限的等待时间,提升用户的体验。同时,该方法还具有很好的拓展性和可维护性。
本篇文章将大家利用 自动化与爬虫,精准地刷抖音,完全解放自己的双手,做一回真正的懒人
本文主要介绍了多端自动化的实践经历而非作为airtest的科普文章(因为airtest的官方文档真的是已经特别全了,非常建议实践之前先看一遍文档,大部分问题都能达到答案),主要叙述了在面对多端大规模场景时,自动化的技术选型、方案设计、实践难点等等。
微信升级到6.7.3以后多图分享已经彻底不能用了,具体可参考我的另一篇文章《微信6.7.3版本后无法多图分享的分析》
领取专属 10元无门槛券
手把手带您无忧上云