API 速查
大约 3 分钟
API 速查
这一页是首版速查表,方便你不来回翻页就能知道“有这个能力吗,大概叫什么”。
如果你想直接翻 JSXHook 应用里那套内置手册示例,现在已经单独整理成了一页:内置手册全量示例。
全局函数
| 名称 | 作用 |
|---|---|
log / print | 输出日志 |
toast / toastLog | Toast 与日志联动 |
sleep | 阻塞当前脚本 |
setClip / getClip | 操作剪贴板 |
exit | 中断脚本 |
random | 生成随机数 |
printStackTrace | 输出当前堆栈 |
setTimeout / clearTimeout | 单次定时 |
setInterval / clearInterval | 周期定时 |
Task | 任务包装 |
shell | 执行 Shell |
getAppLanguage | 读取当前语言 |
getField / setField | 实例字段读写,字段名支持先解包再转字符串 |
getStaticField / setStaticField | 静态字段读写,字段名支持先解包再转字符串 |
printFields | 打印对象字段 |
findClass | 查找类,或把已拿到的 Class 统一归一化返回 |
callStaticMethod / callMethod / invoke | 调用方法,方法名支持先解包再转字符串 |
new / newArray / ByteArray | 构造对象与数组;字符串类名时 new 支持第二参数显式传 ClassLoader |
hook / hookAll / hookctor / replace | Hook 系列,字符串入口会先解包再查找 |
require | 加载项目模块 |
loadDex | 加载外部 Dex |
openDexKit / openDexKitByClassLoader | 打开 DexKit |
imports / importClass | 导入 Java 类 |
getProjectDir | 取项目目录 |
injectActivity | 注入 Activity 上下文 |
showGlobalDialog / confirm | 宿主对话框 |
全局对象
| 对象 | 关键能力 |
|---|---|
console | log / info / warn / error |
app | 目标包版本 app.version*、JSXHook 版本 app.jsxhook.*、启动 Activity、打开 URL、查已安装应用 |
http | GET / POST / POST JSON / 超时配置 |
httpServer | 启停 HTTP 服务、注册路由 |
mcpServer | 注册 Tool / Resource / Prompt |
files | 工作区文件读写 |
storages | 持久化键值存储 |
device | 设备信息、亮度、音量、电量、唤醒、震动 |
plugins | 插件加载与卸载 |
imgui | 调试面板与控件 |
crypto | 编码、摘要、加解密、密钥管理 |
app 这一组里最容易记混的是:
app.versionCode/app.versionName看当前脚本绑定的目标包版本app.jsxhook.versionCode/app.jsxhook.versionName看 JSXHook 自己版本
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 |
| 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 / 对应手册示例”。
