项目结构
大约 2 分钟
项目结构
JSXHook 本体是一个 Android/Gradle 工程,但脚本工作区、运行时桥接和导出模板是三条并行的线。理解这点之后,很多功能为什么放在那里就顺了。
仓库级结构
jshook/
├─ app/ 主应用
│ ├─ src/main/java/com/daowuya/jsxhook/core/
│ ├─ src/main/java/com/daowuya/jsxhook/hook/
│ ├─ src/main/java/com/daowuya/jsxhook/ui/
│ └─ src/main/assets/
├─ standalone_module_template_src/ 独立模块模板来源
├─ libxposed/ libxposed 相关集成
└─ docs/ 旧文档目录或预留目录
app/src/main/java 的主干
core/*
project:创建项目、读取init.js、导入导出、独立模块打包。script:脚本文件命名、校验、格式化、标签函数提取。xposed:作用域请求、服务连接、框架诊断。dexkit:静态 DexKit 检索能力。apkanalysis:APK 工作区、Smali 解析、Manifest 读取、引用查找。mcp:把 APK 分析能力包装成 MCP 工具。lan:局域网文件传输、剪贴板同步、WebSocket 对接。log/debug:运行日志、Probe、事件接收。
hook/*
entry:Hook 入口和进程过滤。javascript:Rhino 运行时桥接,几乎所有脚本全局 API 都在这里注册。imgui:调试面板、原生桥、窗口模型与控件。compat:兼容Legacy Xposed、libxposed、XPHelper。
ui/*
manual:内置手册与示例,首版站点文档的大量示例都来自这里。project:项目列表、编辑器、配置界面。script:脚本编辑器、运行保护、作用域选择。setting:DexKit 调试器、MCP 服务、框架设置等入口。
脚本工作区布局
项目模式下,通常会看到这样的结构:
Project/
└─ YourProject/
├─ init.js
├─ main.js
├─ icon.png 或图标字符
└─ 其他脚本/资源文件
init.js:项目元信息和入口声明,ProjectManager.buildProjectInitScript()会生成这一层。main.js:默认执行入口,放 Hook 逻辑或者require()主流程。- 其他
.js:按模块拆文件,用require("./xxx")组织。
站点文档怎么对应这些目录
guide/*:工作区、项目与流程。api/*:hook/javascript暴露出来的脚本 API。modules/*:源码级模块说明。examples/*:可直接拿去改的脚本片段。
