使用定制(客制)ROM来实现自动化脚本
定制ROM(Custom ROM)是指基于Android操作系统源代码进行修改和优化后,由第三方开发者或社区创建的移动设备操作系统版本。它不同于设备制造商提供的官方ROM,允许用户对手机或平板电脑的软件进行更深入的个性化定制。个性化:定制ROM通常允许用户根据个人喜好调整界面、功能,甚至添加独特的操作逻辑。性能优化:通过移除不必要的系统应用(俗称“精简”)和优化代码,可以提高设备的运行速度和电池续
实现自动化脚本时,传统上我们一般使用基于adb,root等方案,这些方案比较容易被app检测到,导致很多自动化任务和自动化测试无法进行。今天给大家介绍一个自动化脚本领域的终极方案,定制ROM,使用定制ROM(客制ROM)来实现自动化脚本是一种强大的方法,可以为你的设备带来更高的自定义能力和自动化能力。
一、什么是定制ROM
定制ROM(Custom ROM)是指基于Android操作系统源代码进行修改和优化后,由第三方开发者或社区创建的移动设备操作系统版本。它不同于设备制造商提供的官方ROM,允许用户对手机或平板电脑的软件进行更深入的个性化定制。
以下是定制ROM的一些主要特点和优势:
-
个性化:定制ROM通常允许用户根据个人喜好调整界面、功能,甚至添加独特的操作逻辑。
-
性能优化:通过移除不必要的系统应用(俗称“精简”)和优化代码,可以提高设备的运行速度和电池续航。
-
最新功能:定制ROM往往能更快地引入Android的最新版本功能,尤其是对于那些不再接收官方更新的旧设备,比如内置自动化脚本功能。
-
软件选择:用户可以选择不同的定制ROM,以获得不同的体验和功能集。
定制ROM的主要步骤通常包括:
- 获取源代码:通常从Android开源项目(AOSP)或其他开源项目获取。
- 修改和优化:根据开发者和用户的需要,对系统进行修改。
- 编译:将修改后的代码编译成可安装的ROM包。
二、具体实战
在实际操作中并不需要我们自己去编译ROM(专业程度太高,一般人搞不定),可以找专业人士定制,或者购买现成的ROM。冰狐智能辅助自带支持各种定制ROM,现在就以冰狐智能辅助使用定制ROM来实现自动化脚本为例子来介绍具体如何使用定制ROM。
function main() {
click(200, 700);
}
// 灭屏
function blacken() {
exeCommand('sleep')
}
// 亮屏
function lighten() {
exeCommand('wakeup')
}
// 一般不需要调用,因为开启冰狐后会自动关闭锁屏功能
function unlock() {
exeCommand('unlock')
}
// 按下home
function home() {
exeCommand('home')
}
// 按下power
function power() {
exeCommand('power')
}
// 按下back
function back() {
exeCommand('back')
}
// 停止某个应用程序
function stop(packageName) {
exeCommand('stop', {packageName: packageName})
}
// 模拟点击
function click(x, y) {
exeCommand('click', {x: x, y: y})
}
// 模拟点击
function tap(x, y) {
exeCommand('tap', {x: x, y: y})
}
// 模拟点击
function swipe(x1, y1, x2, y2, duration) {
if (undefined == duration) {
duration = 500
}
exeCommand('swipe', {x1: x1, y1: y1, x2: x2, y2: y2, duration: duration})
}
// 长按
function longClick(x, y) {
exeCommand('longClick', {x: x, y: y})
}
// 开启改输入法后才能使用iputText输入中文
function enableIME(enable) {
exeCommand('enableIME', {enable: enable})
}
// 输入文本
function inputText(text) {
exeCommand('inputText', {text: text})
}
// 剪切
function cut() {
exeCommand('cut')
}
// 拷贝
function copy() {
exeCommand('copy')
}
// 粘贴
function paste() {
exeCommand('paste')
}
// 音量+
function valumeUp() {
exeCommand('valumeUp')
}
// 音量-
function valumeDown() {
exeCommand('valumeDown')
}
// up
function up() {
exeCommand('up')
}
// down
function down() {
exeCommand('down')
}
// left
function down() {
exeCommand('left')
}
// right
function down() {
exeCommand('right')
}
// ok
function ok() {
exeCommand('ok')
}
// enter
function enter() {
exeCommand('enter')
}
// delete
function del() {
exeCommand('delete')
}
// space
function space() {
exeCommand('space')
}
// tab
function tab() {
exeCommand('tab')
}
// key
function key(code) {
exeCommand('key', {keyCode: code})
}
// 执行adb命令
function exeAdbCmd(code) {
exeCommand('adbCmd', {code: code})
}
// 静默开启无障碍,静默无障碍一般不会被检测到。如果没有在打包时修改过包名就不用填packageName。
function enableAccessibility(packageName) {
if (strIsEmpty(packageName)) {
packageName = 'com.libra.aznfz';
}
exeCommand('enableAccessibility', {enable: true, classPath: packageName + '/com.libra.sar.robot.RobotService'})
}
function exeCommand(cmd, params) {
if (strIsNotEmpty(cmd)) {
var intent = new Intent();
intent.setAction('com.android.smart.ACTION_COMMAND').setPackageName('com.android.settings');
intent.putExtraData('cmd', cmd);
if (params) {
for (var key of params) {
intent.putExtraData(key, params[key]);
}
}
sendBroadcast(intent)
}
}
三、定制ROM的优点
总结下定制ROM具有至少如下优点:
- 脚本常驻内存(不需要做任何配置),实现了真正的常驻内存,永远不会被杀掉,因为直接赋予了系统核心模块的优先级,只要手机不重启,脚本就可以一直运行。
- 完美支持黑屏运行、随时随地亮屏和自动解锁,不会被中断,比如在我们不需要运行脚本时,直接远程控制手机黑屏,需要运行时远程控制量屏继续运行。
- 支持直接静默杀掉任何正在运行的app。
- 支持完美地截屏,在任何情况下都可以正确无误的截屏,非常高效率。
- 在不开启无障碍的情况下支持获取当前界面的ui树,控件树等,更关键的是以前通过无障碍看不到的ui控件也可以看到,比如有的app的某些页面用无障碍来看是空白,没有任何控件,但是通过定制rom提供的能力,可以直接看透这些“空白”页面,显示所有的真正的控件,可以说定制rom具有一定的“透视”能力。
- 当然最基本自动化能力也必须全部支持,比如点击、滑动、各种按键,输入文本等等。
- 可以实现最高强度的防风控,防检测。
更多推荐




所有评论(0)