AutoGod:一款拥有AI视觉的安卓自动化框架
AutoGod:一款拥有AI视觉的安卓自动化框架
一、背景
在安卓自动化领域,传统方案存在几个痛点:
元素定位脆弱:UI改版后脚本失效
兼容性差:不同设备需适配多套脚本
安全性低:脚本容易被反编译
Auto God通过AI视觉识别 + VMP混淆引擎,重新定义了安卓自动化。

二、核心技术架构
2.1 多引擎OCR识别
支持三种识别引擎,根据场景灵活切换:
// 切换引擎 $ocr.v("ncnn"); // 速度最快,适合实时识别 $ocr.v("mlkit"); // 准确率高,兼容性好(默认) $ocr.v("ppv5"); // 支持中英文+特殊字符 // 初始化 $ocr.init(); // 灰度化识别(速度提升30%-50%) var options = { region: [0, 0, 500, 300], gray: true }; var result = $ocr.detect(options); if (result.isSuccess()) { var lines = result.getLines(); for (var i = 0; i < lines.size(); i++) { console.log(lines.get(i).getText()); } }
2.2 YOLO目标检测
支持YoloV5-V13全系列:
var yolo = $yolo.create(8); // 创建YoloV8 // 配置参数 yolo.setUseGpu(true); // GPU加速 yolo.setSize(640, 640); // 输入尺寸(必须32的倍数) yolo.setProbThreshold(0.5); // 置信度阈值 // 加载自定义模型 // yolo.loadModel("/sdcard/custom.model"); // 执行检测 var img = $img.capture(); var detections = yolo.detect(img); // 处理结果 for (var i = 0; i < detections.length; i++) { var det = detections[i]; console.log("标签: " + det.label + " 位置: (" + det.x + "," + det.y + ")" + " 置信度: " + det.confidence); }
2.3 扩展库加载
支持加载Dex、Jar、Apk、So文件:
// 加载单个dex文件 $ext.loadDex("/sdcard/custom.dex"); // 加载多个dex文件 $ext.loadDexs(["/sdcard/lib1.dex", "/sdcard/lib2.dex"]); // 加载jar文件 $ext.loadJar("/sdcard/library.jar"); // 加载apk文件 $ext.loadApk("/sdcard/plugin.apk"); // 加载带so库的dex var options = { path: ["/sdcard/custom.dex"], so: [ {path: "/sdcard/libnative.so", load: true} ] }; $ext.loadDex(options);
三、应用场景
3.1 自动化测试
// 测试用例:登录流程 function testLogin() { // 识别并点击登录按钮 var loginBtn = $ocr.getPoint("登录", { region: [0, 0, 1080, 500] }); if (loginBtn == null) { console.log("测试失败:登录按钮未找到"); return false; } $act.click(loginBtn); sleep(1000); // 验证登录结果 var result = $ocr.line({ region: [0, 200, 1080, 400], gray: true }); if (result.indexOf("欢迎") !== -1) { console.log("测试通过"); return true; } return false; } testLogin();
3.2 游戏自动化
// 初始化:创建并缓存YOLO对象 var storage = $storage.create("game_config"); var yoloId = storage.getStr("yolo_id", null); if (yoloId == null || !$yolo.has(yoloId)) { var yolo = $yolo.create(8); yolo.setUseGpu(true); yolo.setSize(640, 640); storage.putStr("yolo_id", yolo.getId()); } // 使用:获取缓存的YOLO对象 var yolo = $yolo.get(storage.getStr("yolo_id")); // 检测游戏目标 var screenImg = $img.capture(); var targets = yolo.detect(screenImg); // 点击目标 for (var i = 0; i < targets.length; i++) { $act.click(targets[i].x, targets[i].y); sleep(500); }
3.3 企业级RPA
// 自动填写表单 function fillForm(data) { // 填写姓名 var nameField = $ocr.getPoint("姓名"); if (nameField) { $act.click(nameField); $act.input(data.name); } // 填写电话 var phoneField = $ocr.getPoint("电话"); if (phoneField) { $act.click(phoneField); $act.input(data.phone); } // 提交 var submitBtn = $ocr.getPoint("提交"); if (submitBtn) { $act.click(submitBtn); } } var formData = { name: "张三", phone: "13800138000" }; fillForm(formData);
四、安全机制
4.1 VMP混淆引擎
脚本在执行前会编译成混淆码:
函数名加密
字符串加密
字段混淆
无法还原源码
4.2 云端验证
非对称加密传输
本地+云端双校验
防离线破解
五、并发编程支持
// 多线程截图(Auto God支持并发) function task1() { var img1 = $img.capture(); // 处理图片... } function task2() { var img2 = $img.capture(); // 处理图片... } // 两个线程可以同时截图,互不干扰 var thread1 = new Thread(task1); var thread2 = new Thread(task2); thread1.start(); thread2.start();
六、总结
Auto God的优势:
✅ AI视觉识别,无需固定坐标
✅ 多引擎支持,灵活切换
✅ VMP混淆,安全性高
✅ 并发编程,稳定可靠
✅ 扩展性强,支持第三方库
官网:https://auto-god.netlify.app/

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
