AutoGod:一款拥有AI视觉的安卓自动化框架

0 阅读1分钟

AutoGod:一款拥有AI视觉的安卓自动化框架

一、背景

在安卓自动化领域,传统方案存在几个痛点:

  1. 元素定位脆弱:UI改版后脚本失效
  2. 兼容性差:不同设备需适配多套脚本
  3. 安全性低:脚本容易被反编译

Auto God通过AI视觉识别 + VMP混淆引擎,重新定义了安卓自动化。

AIGamePro特点.png

二、核心技术架构

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混淆,安全性高
  • ✅ 并发编程,稳定可靠
  • ✅ 扩展性强,支持第三方库

官网:auto-god.netlify.app/

画图-app截屏1.png