Bcore 引擎与 app 模块:项目代码结构是什么样的
项目的整体形态
黑盒是一个标准的 Android 开源工程,官方把它拆成两个模块:
| 模块 | 职责 |
|---|---|
| app 模块 | 用户操作与 UI——主界面、添加应用、设置页、虚拟定位界面都在这层 |
| Bcore 模块 | 引擎核心——虚拟进程管理、应用安装调度、环境构造、框架注入等全部底层能力 |
你在手机上看到的每一个界面都来自 app 模块,而让「克隆出来的应用能跑起来」的魔法全部封装在 Bcore 里。两层之间通过引擎核心类(BlackBoxCore)通信。
项目的 Logo 与仓库
工程源自开源社区,仓库横幅就是下面这个六边形 Logo:

源码托管在公开仓库上,许可证为 Apache 2.0(协议细节见开源协议与官方声明)。仓库同时保留了中英文两份说明文档,内容围绕集成与使用展开。
Bcore 的技术底座
官方致谢列表透露了引擎的技术血统:
- VirtualApp、VirtualAPK:安卓虚拟化与插件化领域的两个代表性开源项目,黑盒的许多设计细节参考了它们;
- BlackReflection:反射调用基础设施;
- AndroidHiddenApiBypass:绕过隐藏 API 限制的基础库;
- Pine:运行时 Hook 框架,支撑 Xposed 模块的注入执行。
想读懂引擎实现,从这些上游项目入手会比直接硬啃 Bcore 源码省力得多。
阅读源码的建议顺序
- 先跑通三步集成,对引擎的初始化与调用有体感;
- 从 app 模块的界面代码入手,看它如何调用 BlackBoxCore 完成添加、启动;
- 再进 Bcore 看进程接管与安装调度的实现;
- 对 Xposed 支持感兴趣的,顺着注入链路读到底座库。
参与贡献的通道
项目接受社区 PR,中英文说明皆可,但官方要求详细描述问题、遵循既有代码风格。具体的提交须知见参与开源贡献与 PR 须知。