Gomaton
指南
API
GitHub
指南
API
GitHub

Gomaton

用 Go 编写、真机运行的安卓 GUI 自动化 SDK

快速开始 →API 参考

就是普通 Go

在 GoLand 里像写任何 Go 一样,自由混写标准库 / 第三方库 + 我们的 SDK,F7 一键编译、部署、运行到安卓真机,零环境折腾。

找图 · 控件 · OCR · YOLO

找色找图、控件树(UI 树)、文字识别(OCR)、目标检测(YOLO),一套 API 覆盖屏幕上看得见的任意 App。

跨机型 · 低延迟

走 injectInputEvent 低延迟多指注入,跨 ROM;识别与控制混合,不绑单一方案,自研薄栈。

端上推理 · 不联网

OCR(PP-OCRv5)与 YOLO 都是 ncnn 端上推理,识别在设备本地完成,不上传截图、不依赖网络。

单个原生二进制

SDK、标准库、第三方库、原生算法库全部编进同一个二进制、单运行时 —— 泛型 / 反射 / cgo 随你用,没有跨边界的别扭。

发布可混淆

一个开关经 garble 混淆:重命名标识符、加密字符串字面量(运行时解密),功能不变,逆向门槛显著提高。

一段代码看全貌

package main

import (
    "log"

    "gomaton.dev/sdk/app"
    "gomaton.dev/sdk/images"
    "gomaton.dev/sdk/motion"
    "gomaton.dev/sdk/uiacc"
)

func main() {
    motion.Init() // 连接设备(不调也会在首次操作时自动连)

    app.Launch("com.android.settings") // 按包名打开 App

    // 控件:等到「WLAN」出现再点它
    if o := uiacc.New().Text("WLAN").WaitFor(3000); o != nil {
        o.Click()
    }

    // 找图 / 截图 / 取像素
    log.Println("像素:", images.Pixel(10, 10))

    motion.Home() // 回主页
}

写你自己的 Go,调用我们的能力 —— 编译成单个原生二进制,推到真机直接跑。

从这里开始

  • 快速开始 —— 装插件、初始化项目、F7 跑起第一个脚本。
  • 能力速查 —— 一页看全 14 个包能做什么、按场景怎么选。
  • 工作原理 —— 一次 F7 背后发生了什么,能力藏在哪。
Gomaton · 用 Go 掌控安卓