网站客服:zx81024163 |

【野路子实验室】Android手机开机自启开发者选项

2023-12-01 05:01:19发布    浏览513次    信息编号:86065

友情提醒:凡是以各种理由向你收取费用,均有骗子嫌疑,请提高警惕,不要轻易支付。

【野路子实验室】Android手机开机自启开发者选项

前面已经说过了

在远程手机自动化测试过程中,会出现这样的场景:手机自动重启后,开发者选项自动关闭,需要手动打开“USB调试”才能通过adb命令继续后续的一些自动化操作,否则无法通过adb找到。 手机。

这个手动过程可以自动化吗? 本文将尝试在未root的手机上练习自启动开发者选项。 如果您有兴趣,请继续阅读~

它从哪里来的?

由于在打开USB调试之前无法使用adb命令操作手机,因此可以考虑在手机上预装一个App。 手机重启后App即可打开USB调试。

然而,直接在代码中启用USB调试在非root机器上是不可行的:

因此,可以考虑采用类似脚本播放测试的方法,模拟手机开机后的点击或滑动操作,执行一系列步骤后打开开关。

官方考虑到部分用户不能很好地使用该设备,例如由于视力、身体、年龄等限制,导致阅读内容、触摸操作、音频信息等访问困难,因此提供了功能和功能帮助用户更好地使用设备的服务。 由于这一介绍,它在国内更常被称为无障碍模式或残疾人模式。 这是一个典型的使用场景。

它是一个运行在后台的服务,可以接收系统与用户之间的交互信息,如按钮点击、焦点变化等,可以获取当前UI信息、监听事件(用户操作)并响应控件; 在此基础上推出了自动化测试框架。

而这次我也将用它(an)来完成自动开启USB调试的步骤。

实验方案

基本思想:

首先,手动确保手机上预装了高权限应用程序。

应用程序可以在启动后自动启动

App会监控当前adb usb debug打开状态

当发现USB调试关闭时,会自动打开。

注:本实验使用的机型为Nexus 5。

步骤 1. 打开自动启动

打开接收系统

ED广播,

收到后开始自己:

效果:手机重启后2分钟内可自动启动App。

前提步骤: apk 已预安装在手机上并在手机上启动一次

步骤2.App获取usb调试状态

效果:在App内可以获取当前手机的USB调试模式是否打开。

步骤3. App使用打开usb debug

创建您自己的

要使用它,您需要从该类继承。

通过 XML 文件设置辅助功能服务的配置变量,告诉系统要响应哪些事件类型、该服务是否应该对所有应用程序可用或仅对特定包名称可用、它使用哪些不同的反馈类型以及其他信息。

并在 .xml 中声明一个

配置为

..

并添加

RVICE 权限。

2.响应事件并根据页面结构操作对应的节点

现在服务已设置为运行并侦听事件,我们需要编写一些代码,以便它知道在实际到达时要做什么。

首先用()判断事件类型,用()获取触发事件的App包名。 我们可以粗略过滤掉所有不是设置页面触发的ANGED事件:

接下来主要关注的是如何获取页面当前的结构并操作对应的节点。

从手动角度来看,开启开发者选项需要以下步骤:

进入【设置】

找到【开发者选项】列表项(可能包括滑动屏幕或者进入多级目录来查找)

进入【开发者选项】

点击【打开】

在弹出的窗口中点击【确定】

打开【USB调试】

在弹出的窗口中点击【确定】

现在我们需要自动化这个过程,类似于使用来获取页面结构,获取元素信息,依次编写脚本。 以步骤4为例:

把这些步骤串起来,就是使用USB调试打开的整个过程了。

前置步骤:手机需要提前在无障碍功能中开启应用程序提供的服务。

缩短路径:打开App内的设置

由于各个手机厂商都对设置布局做了一些改变,从首页入手,找到开发者权限设置页面,变数相对较多。 因此,可以考虑直接打开开发者权限设置页面,只需要执行后续步骤。 只需点击即可打开操作并弹出窗口。

因此,大多数手机都可以简化启用开发者权限的步骤,如下:

进入【开发者选项设置】页面

打开【主开关】,弹出窗口确认

打开【USB调试】并弹出窗口确认

进度:可以直接打开系统设置的开发者权限页面

确保您的手机屏幕处于唤醒状态

手机开机后可能会自动锁屏,需要先唤醒屏幕再进行模拟点击操作。 带密码、手势锁屏的手机暂时不考虑。

影响

本实验利用提供的API自动搜索并点击页面节点,完成了手机重启后自动开启USB调试的功能。 最终效果可以看下面的gif:

我还想说点什么

不知道从什么时候开始,从一个为残疾人提供的辅助服务,变成了各种黑科技的基石,而且它的使用也离官方的初衷越来越远。

下面是两个例子:

也许你觉得这两个场景很方便。

那么以下这些可能看起来很无赖:

它用于帮助用户与手机交互。 它提供了许多功能和许多其他可能性。

希望大家不要滥用!

做平台上的好公民。

关于作者

于慧

新的自动化测试

-在擅长羽毛球和跳舞的人中,我努力成为最擅长写代码的人。

提醒:请联系我时一定说明是从星空网上看到的!