API 速查
大约 5 分钟
API 速查
这一页是首版速查表,方便你不来回翻页就能知道“有这个能力吗,大概叫什么”。
如果你想直接翻 ScriptX 应用里那套内置手册示例,现在已经单独整理成了一页:内置手册全量示例。
全局函数
| 名称 | 作用 |
|---|---|
log / print | 输出日志 |
toast / toastLog | Toast 与日志联动 |
sleep | 阻塞当前脚本 |
pausePoint / isPaused | 运行时暂停检查与暂停状态读取 |
setClip / getClip | 操作剪贴板 |
exit | 中断脚本 |
random | 生成随机数 |
printStackTrace | 输出当前堆栈 |
setTimeout / clearTimeout | 单次定时 |
setInterval / clearInterval | 周期定时 |
setImmediate / clearImmediate | 当前线程上的即时调度 |
Task | 一次性任务包装,当前本质上等价于 setTimeout |
sync | 把函数包装成共享锁保护的同步函数 |
shell | 执行 Shell |
getAppLanguage | 读取当前语言 |
currentPackage / currentActivity | 读取无障碍监测到的前台包名与前台 Activity 类名 |
selector / text* / desc* / id* / className* / packageName* | 选择器构造、文本筛选、id 筛选、类名筛选、包名筛选 |
click / longClick / press / swipe | 基于无障碍手势的坐标点击、长按、按压、滑动 |
Tap / Swipe | 基于特权 input 命令的坐标点击与滑动 |
requestScreenCapture / requestScreenCaptureAsync / captureScreen | 图像模块挂出来的全局截图快捷函数,实际对应 images.* |
findColor / findColorInRegion / findColorEquals / findMultiColors / findImage / findImageInRegion | 图像模块挂出来的全局找色 / 找图快捷函数 |
getField / setField | 实例字段读写,字段名支持先解包再转字符串 |
getStaticField / setStaticField | 静态字段读写,字段名支持先解包再转字符串 |
printFields | 打印对象字段 |
findClass | 查找类,或把已拿到的 Class 统一归一化返回 |
callStaticMethod / callMethod / invoke | 调用方法,方法名支持先解包再转字符串 |
new / newArray / ByteArray | 构造对象与数组;字符串类名时 new 支持第二参数显式传 ClassLoader |
hook / hookAll / hookctor / hookcotr / replace | Hook 系列,字符串入口会先解包再查找 |
require | 加载项目模块 |
loadDex | 加载外部 Dex |
openDexKit / openDexKitByClassLoader | 打开 DexKit |
imports / importClass | 导入 Java 类 |
getProjectDir | 取项目目录 |
injectActivity | 注入 Activity 上下文 |
showGlobalDialog / showHostDialog / confirm | 宿主对话框 |
全局对象
| 对象 | 关键能力 |
|---|---|
console | log / info / warn / error |
auto | 无障碍服务就绪、窗口过滤、搜索模式、窗口 root 与窗口列表 |
automator | 自动化对象补充入口,当前主要是无障碍截图 |
app | 目标包版本 app.version*、ScriptX 版本 app.jsxhook.*、启动 Activity、发送广播、打开 URL、查已安装应用 |
images | 读图、存图、MediaProjection 截图、找色、找图、模板匹配、特征点与圆检测 |
colors | 颜色解析、通道拆分、颜色常量与颜色整数/字符串互转 |
threads | 工作线程、线程内定时器、锁、原子计数与跨线程传值 |
events | 自定义事件、同包广播、按键、Toast、通知、触摸、剪贴板与手势监听 |
http | GET / POST / POST JSON / 超时配置 |
httpServer | 启停 HTTP 服务、注册路由 |
mcpServer | 注册 Tool / Resource / Prompt |
crypto / $crypto / $base64 | 编码、摘要、加解密、密钥管理与快捷别名 |
files | 工作区文件读写 |
storages | 持久化键值存储 |
device | 设备信息、亮度、音量、电量、唤醒、震动 |
plugins | 插件加载与卸载 |
imgui | 调试面板与控件 |
__nonHostRun | 当前是否处于无宿主运行模式 |
app 这一组里最容易记混的是:
app.versionCode/app.versionName看当前脚本绑定的目标包版本app.jsxhook.versionCode/app.jsxhook.versionName看 ScriptX 自己版本,字段名仍沿用历史命名
自动化相关的正文页已经拆开:
DexKit 入口
这一页只把 DexKit 入口先摆出来,详细参数、枚举值、匹配器、结果对象和示例都已经单独展开到 API 正文页了:
最常用的 4 个入口先记住:
| 名称 | 作用 |
|---|---|
openDexKit(apkPath?) | 按 APK 路径打开 DexKit;不传参数时优先用当前应用 sourceDir |
openDexKitByClassLoader(useMemoryDexFile = false) | 按当前 lpparam.classLoader 打开 DexKit |
DexFinder.INSTANCE.create(...) / DexFinder.getDexKitBridge() | 通过 DexFinder 桥接拿到 DexKitBridge |
DexKitBridge.create(...) | 更底层的直接入口,可自己传 apkPath、loader,或更进阶的 dex 字节数组 |
源码映射
| 能力 | 主要源码 |
|---|---|
| 运行时注册 | hook/javascript/JavaScriptBridge.kt |
| 自动化模块 / 选择器 / 前台应用感知 | hook/javascript/ScriptAutomatorApi.kt |
| 线程模块 / 同步与线程调度 | hook/javascript/ScriptThreadsApi.kt |
| 事件模块 / 观察器 / 广播 | hook/javascript/ScriptEventsApi.kt |
| 图像模块 / 屏幕截图 / 找色找图 | hook/javascript/ScriptImagesApi.kt |
| 颜色模块 | hook/javascript/ScriptColorsApi.kt |
| 加密与编码 | hook/javascript/JavaScriptCrypto.kt |
| Rhino 运行时 | hook/javascript/JavaScriptRuntime.kt |
| 文件 API | hook/javascript/ScriptFilesApi.kt |
| 存储 API | hook/javascript/ScriptStoragesApi.kt |
| 设备 API | hook/javascript/ScriptDeviceApi.kt |
| 插件 API | hook/javascript/ScriptPluginsApi.kt |
| ImGui API | hook/javascript/ScriptImGuiApi.kt |
| MCP Server | hook/javascript/McpServerBridge.kt |
| 项目系统 | core/project/* |
| DexKit / 分析 | core/dexkit/*、core/apkanalysis/* |
内置手册全量示例
- 全量入口:内置手册全量示例
- 这页已经把应用内置手册里的 75 条示例按当前文档栏目重新归类,并补了少量衔接示例
- 当你想先找“现成代码片段”而不是先读概念说明时,优先从这页开始会更快
继续补文档时的建议
如果你还想把这套文档继续往上抬一个台阶,最省力的做法是:
- 从
JavaScriptBridge.kt里继续补全每个全局函数的参数约定和边界条件。 - 把
manual-full里已经归类好的示例,继续分批并回对应 API 正文页。 - 给
modules/*页面补上“相关类 / 数据流 / 入口 UI / 对应手册示例”。
